Чтобы авторизовать доступ к API Google в веб-приложении с помощью библиотеки JavaScript сервисов идентификации Google (google.accounts.oauth2), сначала необходимо сделать следующее:
- Получите идентификатор клиента OAuth 2.0.
- Настройте окно запроса доступа OAuth и области действия.
- Загрузите клиентскую библиотеку.
- При необходимости настройте Content Security Policy (CSP) и Cross-Origin Opener Policy (COOP).
Как получить идентификатор клиента Google API
Чтобы включить авторизацию через аккаунт Google на сайте, сначала нужно настроить идентификатор клиента Google API. Выполните следующие действия:
- Откройте страницу Клиенты в консоли Google Cloud.
- Создайте или выберите проект Cloud Console. При создании рабочих приложений может потребоваться несколько проектов. В этом случае повторите оставшиеся шаги из этого раздела для каждого проекта.
- Нажмите Создать клиент и в поле Тип приложения выберите Веб-приложение, чтобы создать идентификатор клиента. Чтобы использовать существующий идентификатор клиента, выберите один из вариантов типа Веб-приложение.
Добавьте URI своего сайта в поле Разрешенные источники JavaScript. URI включает только схему и полное имя хоста. Пример:
https://www.example.com.Если вы используете модель кода авторизации с
ux_mode: 'redirect'(или обмениваетесь кодами авторизации в конечной точке серверной части), добавьте URI перенаправления в поле Разрешенные URI перенаправления. URI перенаправления включают схему, полное имя хоста и путь и должны соответствовать правилам проверки URI перенаправления. напримерhttps://www.example.com/oauth2callback.
После завершения настройки запишите созданный идентификатор клиента.
Это значение нужно передавать в свойстве client_id при инициализации initCodeClient() или initTokenClient(). Также будет создан секретный код клиента, который необходимо хранить в тайне и использовать только для операций обмена токенами на стороне сервера.
Как настроить окно запроса доступа OAuth
Когда веб-приложение запрашивает доступ к пользовательским данным, используя области действия OAuth 2.0, Google показывает окно запроса доступа, в котором указано, какое приложение запрашивает доступ, какие области действия данных запрашиваются и какие условия применяются.
- Откройте страницу брендинга в разделе Google Auth Platform в Cloud Console.
- Если появится запрос, выберите настроенный проект.
- Заполните форму брендинга (название приложения, логотип приложения, адрес электронной почты службы поддержки, авторизованные домены, ссылка на главную страницу приложения и ссылка на Политику конфиденциальности) и нажмите Сохранить.
- Перейдите на страницу Доступ к данным, чтобы настроить области действия API Google, необходимые для вашего приложения. Рекомендуется запрашивать области доступа постепенно, по мере необходимости, а не все сразу.
- Проверьте статус подтверждения. Если ваше приложение запрашивает доступ к конфиденциальным или ограниченным областям действия, отправьте его на проверку. Подробнее о требованиях к проверке OAuth…
Content Security Policy и COOP
Если в вашем веб-приложении применяется Content Security Policy (CSP), разрешите следующие источники сервисов идентификации Google:
script-src:https://accounts.google.com/gsi/client.frame-src:https://accounts.google.com/gsi/.connect-src:https://accounts.google.com/gsi/.
Если вы используете всплывающие окна для авторизации (initTokenClient или initCodeClient с ux_mode: 'popup'), настройте заголовок HTTP-ответа Cross-Origin-Opener-Policy (COOP) на same-origin-allow-popups, чтобы диалоговое окно могло передавать ответ авторизации обратно на вашу страницу.
Дальнейшие действия
Затем загрузите клиентскую библиотеку на веб-страницу, чтобы начать инициализацию клиента авторизации.