Настройка Trusted.ID
Поддерживаемые атрибуты
OpenID Connect использует JSON для формирования запросов и ответов. Для Толка могут использоваться следующие атрибуты:
- authorization_endpoint: URL, по которому происходит аутентификация пользователей. Это точка входа для получения авторизационного кода или токена. Например: «https://id.kloud.one/api/oidc/auth».
- device_authorization_endpoint: URL для авторизации устройств, поддерживающий OAuth 2.0 Device Authorization Grant. Например: «https://id.kloud.one/api/oidc/device/auth».
- claims_parameter_supported: указывает, поддерживается ли параметр claims в запросах. В данном случае — нет (false).
- claims_supported: список поддерживаемых атрибутов (claims), которые могут быть возвращены в токене.
Например: [«sub»,«email»,«email_public»,«email_verified»,«name»,«nickname»,«given_name»,«family_name»,«login»,«profile», «birthdate»,«password_updated_at»,«password_change_required»,«deleted»,«picture»,«custom_fields», «publicExternalAccounts»,«phone_number»,«phone_number_verified»,«sid»,«auth_time»,«iss»],
где sub — уникальный идентификатор пользователя, email — адрес электронной почты, name — полное имя пользователя, picture — URL фотографии профиля и т. д.
- code_challenge_methods_supported: поддерживаемые методы для code challenge в PKCE (Proof Key for Code Exchange). В данном случае поддерживается [«S256»].
- end_session_endpoint: URL для завершения сеанса (выхода из системы). Например: «https://id.kloud.one/api/oidc/session/end».
- grant_types_supported: поддерживаемые типы разрешений OAuth 2.0. Например:
«implicit»,«authorization_code»,«refresh_token»,«urn:ietf:params:oauth:grant-type:device_code»],
где implicit — прямой доступ к токену, authorization_code — получение токена с помощью авторизационного кода, refresh_token — получение нового токена с помощью обновляющего токена и т. д. - id_token_signing_alg_values_supported: поддерживаемые алгоритмы подписи для ID токенов. В данном случае поддерживается [«RS256»].
- issuer: указывает идентификатор (issuer) сервера аутентификации. Например: «https://id.kloud.one».
- jwks_uri: URL, по которому можно получить JSON Web Key Set (JWKS) для проверки подписи токенов. Например: «https://id.kloud.one/api/oidc/jwks».
- registration_endpoint: URL для регистрации клиента. Например: «https://id.kloud.one/api/oidc/reg».
- authorization_response_iss_parameter_supported: указывает, поддерживается ли параметр iss в ответе авторизации. В данном случае установлено значение «Да» (true).
- response_modes_supported: поддерживаемые режимы ответа на запросы авторизации. Например: [«form_post»,«fragment»,«query»].
- response_types_supported: поддерживаемые типы ответов. Например: [«code token»,«code id_token token»,«code id_token»,«code»,«id_token»,«none»], где code token - возвращает код и токен, id_token - возвращает только ID токен и т.д.
- scopes_supported: поддерживаемые области (scopes), которые могут запрашиваться. Например: [«openid»,«offline_access»,«email»,«profile»,«accounts»,«phone»].
- subject_types_supported: поддерживаемые типы субъектов. Например: [«public»,«pairwise»].
- token_endpoint_auth_methods_supported: поддерживаемые методы аутентификации для получения токена. Например: [«client_secret_basic»,«client_secret_jwt»,«client_secret_post»,«private_key_jwt»,«none»],
где client_secret_basic — базовая аутентификация с клиентским секретом, none — без аутентификации. - token_endpoint: URL для получения токена. Например: «https://id.kloud.one/api/oidc/token».
- userinfo_endpoint: URL для получения информации о пользователе. Например: «https://id.kloud.one/api/oidc/me».
- introspection_endpoint: URL для проверки состояния токена. Например:«https://id.kloud.one/api/oidc/token/introspection».
- revocation_endpoint: URL для отзыва токена. Например: «https://id.kloud.one/api/oidc/token/revocation».
- introspection_endpoint_auth_methods_supported: методы аутентификации для конечной точки интроспекции. Например: [«client_secret_basic»,«client_secret_jwt»,«client_secret_post»,«private_key_jwt»,«none»].
- revocation_endpoint_auth_methods_supported: методы аутентификации для конечной точки отзыва токена. Например: [«client_secret_basic»,«client_secret_jwt»,«client_secret_post»,«private_key_jwt»,«none»].
- claim_types_supported: поддерживаемые типы атрибутов (claims). В данном случае поддерживается normal.
Создание приложения в Trusted.ID
- Авторизуйтесь или зарегистрируйтесь в системе Trusted.ID.
- Создайте приложение с названием «Толк». Обязательно заполните следующие поля:
- «Адрес приложения»: адрес инсталляции Толка;
- «Возвратный URL (Redirect_uri)»:
Для облачного решения Толка
— https://auth-gateway.kontur.ru/login/callback;
— https://auth-gateway.testkontur.ru/login/callback.
Для серверного решения Толка (On-Premise)— https://%SPACE%/system/authorize;
— https://%SPACE%/assets/silent_renew.html.
-
«URL выхода из системы (post_logout_redirect_uri)»:
Для облачного решения Толка— https://identity.testkontur.ru/logout/callback*;
— https://identity.testkontur.ru/logout/callback?logoutId=*;
— https://identity.kontur.ru/logout/callback*;
— https://identity.kontur.ru/logout/callback?logoutId=*.
Для серверного решения Толка (On-Premise)https://%SPACE%/system/logout.
- Перейдите в настройки приложения и скопируйте значения полей «Идентификатор (client_id)» и «Секретный ключ (client_secret)». Они понадобятся на следующем этапе.
Завершение настройки на стороне Толка
Убедитесь, что атрибут (claim) почты в приложении TrustedID не скрыт и доступен для передачи в Толк.
Для завершения настройки свяжитесь с поддержкой Толка, нажав на значок справа внизу, и сообщите следующую информацию:
- Название организации.
- Адрес вашего пространства в формате «name.ktalk.ru».
Как его узнать, см. в статье Частые вопросы. - Client_id. Укажите id, скопированный на этапе 2.
- Client_secret. Укажите значение, скопированное на этапе 2.
После завершения настроек виджет авторизации будет выглядеть следующим образом:
