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

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

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

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

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

Как работает авторизация пользователя , подробно описывает отдельные этапы авторизации пользователя и включает примеры пользовательских диалогов.

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

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

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

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

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

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

  • Аутентификация пользователя для входа и авторизация , используемая для получения токена доступа для вызова API Google, — это два отдельных набора объектов и методов JavaScript. Это снижает сложность и количество деталей, необходимых для реализации аутентификации или авторизации.
  • Одна библиотека JavaScript теперь поддерживает:
    • Неявный поток OAuth 2.0, используемый для получения токена доступа для использования в браузере.
    • Поток кода авторизации OAuth 2.0, также известный как автономный доступ, инициирует безопасную доставку кода авторизации на вашу серверную платформу, где его можно обменять на токен доступа и токен обновления. Ранее эти потоки были доступны только при использовании нескольких библиотек и прямых вызовов конечных точек OAuth 2.0. Единая библиотека сокращает время и усилия на интеграцию, вместо включения и изучения нескольких библиотек и концепций OAuth 2.0 вы можете сосредоточиться на едином унифицированном интерфейсе.
  • Косвенность через функции стиля геттера была удалена для простоты и удобочитаемости.
  • При обработке ответов авторизации вы выбираете, использовать ли промис для выполнения запросов, вместо того, чтобы это решение принималось за вас.
  • В клиентскую библиотеку Google API для JavaScript внесены следующие изменения:
    • модуль gapi.auth2 и связанные с ним объекты и методы больше не загружаются автоматически за кулисами и были заменены более явными объектами и методами библиотеки Google Identity Services.
    • Автоматическое обновление маркеров доступа с истекшим сроком действия было удалено для повышения безопасности и осведомленности пользователей. По истечении срока действия токена доступа ваше приложение должно обрабатывать ответы об ошибках Google API, запрашивать и получать новый действительный токен доступа.
    • Чтобы поддерживать четкое разделение моментов аутентификации и авторизации, одновременный вход пользователя в ваше приложение и в его учетную запись Google с одновременной выдачей токена доступа больше не поддерживается. Ранее при запросе токена доступа пользователи также входили в свою учетную запись Google и возвращали учетные данные токена JWT ID для аутентификации пользователя.
  • Чтобы повысить безопасность и конфиденциальность пользователей, учетные данные каждого пользователя, выдаваемые для авторизации, следуют принципу наименьших привилегий, включая только токен доступа и информацию, необходимую для управления им.