Авторизация для Интернета

Для безопасного вызова API Google веб-приложениям необходимо получить токен доступа.

Библиотека JavaScript Google Identity Services поддерживает как аутентификацию для входа пользователя, так и авторизацию для получения токена доступа для использования с API Google. Библиотека предназначена только для использования в браузерах.

Аутентификация устанавливает личность пользователя и обычно называется регистрацией или входом в систему. Авторизация — это процесс предоставления или отклонения доступа к данным или ресурсам. Она включает в себя получение и управление согласием пользователя, ограничение объема данных или ресурсов, передаваемых в рамках определенных областей, и получение токена доступа для использования с API Google.

В этих руководствах рассматриваются вопросы авторизации и обмена данными.

В описании процесса авторизации пользователей подробно рассматриваются отдельные этапы авторизации и приводятся примеры диалогов с пользователем.

Если вам нужна помощь с аутентификацией и внедрением регистрации и входа пользователей, см. раздел «Вход через Google» .

Эта библиотека не предназначена для использования с серверными JavaScript-фреймворками, такими как Node.js; вместо этого используйте клиентскую библиотеку Node.js от Google.

Что изменилось?

Для пользователей библиотека Google Identity Services предлагает множество улучшений в плане удобства использования по сравнению с более ранними библиотеками JavaScript, в том числе:

  • Аутентификация для входа пользователя и авторизация для получения токена доступа для вызова API Google теперь имеют два отдельных и различных пользовательских потока: один для входа в систему , а другой для получения согласия во время авторизации. Раздельные пользовательские потоки позволяют четко различать, кто вы, и что может делать приложение.
  • Улучшена прозрачность и детальный контроль обмена данными на этапе получения согласия пользователя .
  • Диалоговые окна, отображаемые в браузере, позволяют упростить взаимодействие с сайтом и не требуют от пользователей покидать его.
    • получить токен доступа от Google, или
    • Отправьте код авторизации на вашу серверную платформу.

Для разработчиков мы сосредоточились на снижении сложности, повышении безопасности и упрощении интеграции. Вот некоторые из этих изменений:

  • Аутентификация пользователя для входа в систему и авторизация, используемая для получения токена доступа для вызова API Google, представляют собой два отдельных и различных набора объектов и методов JavaScript. Это снижает сложность и объем деталей, необходимых для реализации аутентификации или авторизации.
  • Теперь одна библиотека JavaScript поддерживает оба варианта:
    • Неявный поток OAuth 2.0, используемый для получения токена доступа для использования в браузере.
    • Процесс авторизации OAuth 2.0, также известный как автономный доступ, обеспечивает безопасную доставку кода авторизации на вашу бэкэнд-платформу, где его можно обменять на токен доступа и токен обновления. Ранее эти процессы были доступны только с использованием нескольких библиотек и посредством прямых вызовов к конечным точкам OAuth 2.0. Использование одной библиотеки сокращает время и усилия на интеграцию, поскольку вместо включения и изучения множества библиотек и концепций OAuth 2.0 вы можете сосредоточиться на одном унифицированном интерфейсе.
  • Для упрощения и повышения читаемости кода была удалена косвенная адресация через функции-геттеры.
  • При обработке ответов авторизации вы сами выбираете, использовать ли Promise для выполнения запросов, вместо того, чтобы это решение принималось за вас.
  • В библиотеку Google API Client Library for JavaScript внесены следующие изменения:
    • Модуль gapi.auth2 , а также связанные с ним объекты и методы больше не загружаются автоматически в фоновом режиме и заменены более явно указанными объектами и методами библиотеки Google Identity Services.
    • Автоматическое обновление просроченных токенов доступа было удалено для повышения безопасности и осведомленности пользователей. После истечения срока действия токена доступа ваше приложение должно обрабатывать ответы об ошибках Google API, запрашивать и получать новый, действительный токен доступа.
    • Для обеспечения четкого разделения моментов аутентификации и авторизации, одновременный вход пользователя в ваше приложение и в его учетную запись Google с одновременной выдачей токена доступа больше не поддерживается. Ранее запрос токена доступа также включал вход пользователя в его учетную запись Google и возвращал учетные данные JWT ID для аутентификации пользователя.
  • Для повышения безопасности и конфиденциальности пользователей учетные данные , выдаваемые для авторизации, следуют принципу минимальных привилегий, включая только токен доступа и информацию, необходимую для управления им.