Skip to main content
Настройте Yahont на использование Google OAuth для аутентификации пользователей, обеспечив удобный вход через существующие аккаунты Google. Поставщики Google настраиваются в Панель администратора → Организация → Поставщики SSO. Переменные окружения и перезапуски не нужны, и можно настроить несколько поставщиков и включить их одновременно (см. Доступность в Yahont CE и Enterprise Edition). Предварительные требования:
  • Доступ к Google Cloud Console
  • Права администратора для настройки приложений OAuth

Руководство

1

Создайте проект Google Cloud

Откройте страницу создания проекта в Google Cloud Console и заполните обязательные поля.Страница создания проекта в Google Cloud Console
2

Включите Google People API

Откройте APIs & Services и найдите Google People API.Убедитесь, что в верхней панели выбран созданный вами проект, и нажмите Enable.Страница включения People API в Google Cloud Console
3

Создайте платформу Google Auth

Откройте левую боковую панель и перейдите в APIs & Services → OAuth Consent Screen.На странице Overview нажмите Get Started.Страница экрана согласия OAuth в Google Cloud Console
4

Настройте проект OAuth и экран согласия

Заполните поля App name и User support email.Выберите Audience. Если у вас есть организация Google Workspace, выберите Internal. Если нет, выберите External.
Если вы выбираете External, пользователей нужно добавить вручную на вкладке Audience в разделе Test users.
Заполните остальные обязательные поля и завершите настройку.
5

Создайте клиент OAuth

Откройте APIs & Services → OAuth Consent Screen → страницу Clients.Нажмите «+ Create Client» и выберите Web Application.Страница создания клиента OAuth в Google Cloud Console
6

Настройте клиент OAuth

Name: YahontДобавьте источник Yahont в Authorized JavaScript origins и добавьте Authorized redirect URI с именем, которое вы дадите поставщику в Yahont (slug в нижнем регистре, например google):При локальном размещении Yahont используйте:
При размещении Yahont на собственном домене используйте:
Страница создания клиента OAuth в Google Cloud Console
Убедитесь, что введённые здесь URI совпадают с URI, по которому вы открываете Yahont!
7

Сохраните учётные данные OAuth

Нажмите Create → Download JSON, чтобы сохранить учётные данные клиента OAuth. Либо сохраните Client ID и Client Secret в менеджере паролей или секретов.
8

Добавьте поставщика в Yahont

Откройте Панель администратора → Организация → Провайдеры SSO и нажмите Add Provider.Выберите тип поставщика Google, введите Name, который вы использовали в redirect URI, и вставьте Client ID и Client Secret.После создания поставщика в его строке показывается точный Redirect URI. Убедитесь, что он совпадает с зарегистрированным в клиенте OAuth, затем войдите через новый вариант на странице входа.

Настройка запрашиваемых областей

По умолчанию Yahont запрашивает у Google при входе openid, email и profile — минимум, необходимый для идентификации пользователя. Переопределять список имеет смысл в первую очередь тогда, когда токен доступа, выданный при входе, должен передаваться в вызовы инструментов, которым нужен дополнительный доступ к API Google. Задайте Scopes в записи поставщика (Панель администратора → Организация → Провайдеры SSO), чтобы переопределить список для каждого поставщика. Scopes поставщика имеют приоритет. Если поле пусто, применяется переменная окружения всего развёртывания, затем встроенные значения по умолчанию. Переменная окружения всего развёртывания GOOGLE_OAUTH_SCOPE_OVERRIDE задаёт список через запятую:
.env
Переопределение заменяет области по умолчанию — убедитесь, что openid, email и profile по-прежнему включены, если хотите, чтобы стандартный вход продолжал работать.
Все добавляемые здесь области также должны быть включены для клиента OAuth в Google Cloud Console (экран согласия и конфигурация клиента). Yahont меняет только то, что отправляется в запросе авторизации; Google по-прежнему отклоняет области, не настроенные для клиента.
Эти области применяются только к входу в приложение и сквозным потокам OAuth. Коннекторы Google Drive и Gmail используют собственные области и поток OAuth, на которые эта настройка не влияет.

Включение PKCE

PKCE по умолчанию отключён. Включите Enable PKCE в записи поставщика (Панель администратора → Организация → Провайдеры SSO). Переменная окружения всего развёртывания OIDC_PKCE_ENABLED включает его для всех поставщиков. Вход через Google использует тот же маршрут входа, что и OIDC, поэтому здесь тоже применяется переменная с именем OIDC:
.env
OIDC_PKCE_ENABLED=true принудительно включает PKCE для каждого поставщика, в том числе для тех, у кого переключатель Enable PKCE выключен. Отмените её, если хотите, чтобы источником истины были переключатели отдельных поставщиков.