OpenID Google
Time поддерживает стандарт OpenID/OAuth2 для различных провайдеров авторизации.
Ниже приведены шаги для настройки OpenID авторизации с помощью Google.
Требования
Все пользователи имеют следующие атрибуты:
- Адрес электронной почты —
email - Имя учетной записи —
username - Имя пользователя —
firstName - Фамилия пользователя —
lastName
Создание клиента
-
Переходим на страницу управления API Google
-
Выбираем проект или создаём новый, если его нет
-
Переходим в раздел
APIs and services→OAuth consent screen -
Выбираем тип пользователей
ExternalилиInternalв зависимости от потребностей, нажимаем Create -
Заполняем обязательные поля
Application name— название приложения, можно использоватьTimeSupport email— адрес электронной почты для поддержкиApplication home page— адрес сайта приложенияDeveloper contact information— email разработчика приложения. Рекомендуется использовать support email.

-
Нажимаем Save and Continue внизу страницы
-
В разделе
Scopesдобавляем требуемые права доступа. Для этого:-
Нажимаем Add or Remove Scopes

-
Ищем по очереди
email,profile,openidи добавляем их
-
Нажимаем Save and Continue

-
-
В разделе
Test usersдобавляем тестовых пользователей, если это необходимо, и нажимаем Save and Continue. -
Переходим в раздел
Credentials→Create credentials→OAuth client ID
-
Выбираем тип приложения
Web application -
Указываем имя клиента
-
В поле
Authorized redirect URIsуказываем адрес, на который будет перенаправлен пользователь после успешной аутентификации. Для Time это будет{ссылка на корень Time}/signup/openid/complete -
Нажимаем Create

-
В открывшемся окне копируем
Client IDиClient Secretв настройки Time, соответственно:TIME_OPENIDSETTINGS_IDTIME_OPENIDSETTINGS_SECRET

Настройка Time
Заполните параметры подключения в конфигурации Time для OpenID:
TIME_OPENIDSETTINGS_ENABLE: true
TIME_OPENIDSETTINGS_ID: "<Client Id из интерфейса>"
TIME_OPENIDSETTINGS_SECRET: "<Client Secret из интерфейса>"
TIME_OPENIDSETTINGS_SCOPE: "profile openid email"
TIME_OPENIDSETTINGS_ISSUERURL: "https://accounts.google.com"
TIME_OPENIDSETTINGS_BUTTONTEXT: "Google"
TIME_OPENIDSETTINGS_BUTTONCOLOR: "#4285F4"