OpenID Google
Time поддерживает стандарт OpenID/OAuth2 для различных провайдеров авторизации.
Ниже приведены шаги для настройки OpenID авторизации с помощью Google.
Требования
Все пользователи имеют следующие атрибуты:
- Адрес электронной почты —
email
- Имя учетной записи —
username
- Имя пользователя —
firstName
- Фамилия пользователя —
lastName
Создание клиента
-
Переходим на страницу управления API Google
-
Выбираем проект или создаём новый, если его нет
-
Переходим в раздел
APIs and services
→OAuth consent screen
-
Выбираем тип пользователей
External
илиInternal
в зависимости от потребностей, нажимаем Create -
Заполняем обязательные поля
Application name
— название приложения, можно использоватьTime
Support 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_ID
TIME_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"