Веб-приложения должны получить токен доступа для безопасного вызова API Google.
Библиотека JavaScript служб идентификации Google поддерживает как аутентификацию для входа пользователя, так и авторизацию для получения токена доступа для использования с 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 для аутентификации пользователя.
-
- Чтобы повысить безопасность и конфиденциальность пользователей, учетные данные каждого пользователя, выдаваемые для авторизации, соответствуют принципу наименьших привилегий, включая только токен доступа и информацию, необходимую для управления им.