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