Параметры приложения
Раздел Параметры приложения содержит адрес сервиса и настройки аутентификации.
Параметры раздела не доступны для редактирования и настраиваются через конфигурационный файл (подробное описание в п. Описание переменных окружения).
- Идентификатор (client_id) – уникальный идентификатор приложения. Возможно быстро скопировать значение, используя соответствующую кнопку в поле.
- Секретный ключ (client_secret) – значение скрыто, должен быть известен только приложению. Возможно показать значение или скопировать.
- Адрес приложения – адрес сервиса Trusted.ID.
- Возвратный URL (Redirect_uri) - URL, на который будет перенаправлен пользователь после аутентификации.
- URL выхода из системы (post_logout_redirect_uri) - URL, на который сервис будет перенаправлять пользователя после выхода. Если значение не указано, то используется Возвратный URL (Redirect_uri).
- URL запроса аутентификации или восстановления после аутентификации #1 (request_uris) - список URL-адресов, на которых система разместила запросы авторизации в формате JWT (Request Object). Когда система отправляет запрос на авторизацию серверу, она может просто указать параметр request_uri, который ссылается на один из URL-адресов, определенных в этом списке. Сервер затем извлекает объект запроса JWT по этому URL для обработки запроса.
- response_types - тип ответов, которые возвращает авторизационный сервер. Эти типы ответов определяют, какие токены и коды будут возвращены системе:
- code - получит только код авторизации, который она затем может обменять на токен доступа;
- id_token - получит только ID токен, который содержит информацию о профиле пользователя;
- code id_token - получит код авторизации и ID токен;
- code token - получит код авторизации и токен доступа;
- code id_token token - получит код авторизации, ID токен и токен доступа;
- none - используется, когда не требуется получения кода авторизации, токена доступа или ID токена через перенаправление. Может быть полезным в случаях, когда необходимо подтвердить аутентификацию пользователя, но не требуется доступ к его данным.
- grant_types - способ получения авторизации для доступа к защищенным ресурсам:
- authorization Code - используется для получения доступа к серверу авторизации через промежуточный сервер клиента, что помогает обеспечить безопасность, поскольку токен доступа не передается напрямую клиенту (рекомендуется использовать);
- implicit - данный тип в протоколах OpenID Connect (OIDC) и OAuth 2.0 был разработан для сценариев, где клиентскому приложению не требуется или не удается безопасно хранить долгосрочные секреты. В таких случаях, после аутентификации пользователя, сервер авторизации непосредственно выдает токен доступа клиенту;
- Refresh_token - позволяет приложению получать новый токен доступа, используя уже полученный токен обновления, без необходимости повторного ввода учетных данных пользователя;
- urn:ietf:params:oauth:grant-type:device_code - позволяет включить возможность входа в приложение по QR-коду.
- Метод аутентификации клиента для конечной точки получения токена (token_endpoint_auth_method) - метод, который клиент использует для аутентификации при обращении к token endpoint сервера авторизации:
- none - не предоставляет учетные данные при обращении к token endpoint. Этот метод используется, когда клиент не может конфиденциально хранить учетные данные или когда аутентификация не требуется;
- client_secret_post - отправляет свои учетные данные в теле запроса;
- client_secret_basic - использует HTTP Basic Authentication, отправляя свои учетные данные в заголовке запроса;
- client_secret_jwt - подписывает JWT (JSON Web Token) с использованием своего секрета и отправляет его в качестве учетных данных;
- private_key_jwt - подписывает JWT с использованием своего приватного ключа и отправляет его в качестве учетных данных.
Выбор метода аутентификации зависит от требований безопасности приложения и способности клиента безопасно хранить свои учетные данные. Например, методы client_secret_jwt и private_key_jwt обеспечивают более высокий уровень безопасности, так как используют асимметричное шифрование и позволяют избежать передачи секретов клиента через сеть.
- Метод аутентификации, используемый при доступе к конечной точке проверки токена (introspection_endpoint_auth_method) - метод, который клиент использует при обращении к introspection endpoint. Эта конечная точка используется для проверки состояния токена доступа и получения информации о нем:
- none - не предоставляет учетные данные при обращении к introspection endpoint;
- client_secret_post - отправляет свои учетные данные в теле запроса;
- client_secret_basic - использует HTTP Basic Authentication, отправляя свои учетные данные в заголовке запроса;
- client_secret_jwt - подписывает JWT (JSON Web Token) с использованием своего секрета и отправляет его в качестве учетных данных;
- private_key_jwt - подписывает JWT с использованием своего приватного ключа и отправляет его в качестве учетных данных. Выбор метода зависит от требований безопасности и возможностей клиента. Например, методы, использующие JWT, обеспечивают дополнительный уровень безопасности за счет использования подписанных токенов, что предотвращает необходимость передачи секретов клиента через сеть.
- Метод аутентификации, используемый при доступе к конечной точке отзыва токенов (revocation_endpoint_auth_method) - определяет метод аутентификации, который клиент использует при обращении к revocation endpoint. Эта конечная точка используется для отзыва токенов доступа или обновления токенов. Этот метод обычно совпадает с методами, используемыми для token endpoint и introspection endpoint:
- none - не предоставляет учетные данные при обращении к revocation endpoint;
- client_secret_post - отправляет свои учетные данные в теле запроса;
- client_secret_basic - использует HTTP Basic Authentication, отправляя свои учетные данные в заголовке запроса;
- client_secret_jwt - подписывает JWT (JSON Web Token) с использованием своего секрета и отправляет его в качестве учетных данных;
- private_key_jwt - подписывает JWT с использованием своего приватного ключа и отправляет его в качестве учетных данных.
- Алгоритм подписи, используемый при создании подписанного ID-токена (id_token_signed_response_alg) - указывает алгоритм, который используется для подписи ID токена. ID токен — это JSON Web Token (JWT), который содержит утверждения (claims) о аутентификации пользователя.
- require_auth_time - указывает, должен ли сервер авторизации предоставить время аутентификации пользователя в токене ID. Если этот параметр включен, сервер авторизации включает в ID токен утверждение auth_time, которое представляет собой время, когда пользователь в последний раз выполнил аутентификацию.
- require_signed_request_object - указывает, требуется ли подписанный Request Object при отправке запроса на авторизацию. Request Object — это способ безопасной передачи параметров авторизации от клиента к серверу авторизации, обычно в форме JWT (JSON Web Token). Когда require_signed_request_object включен, клиент должен подписать Request Object с использованием заранее согласованного алгоритма подписи, который указан в конфигурации клиента.
- Способ передачи ID пользователя в идентификационном токене (subject_type) - определяет способ, которым идентификатор пользователя (sub claim) представляется клиенту. Этот параметр влияет на то, как пользовательские идентификаторы генерируются и управляются:
- public** - идентификатор пользователя является одинаковым для всех клиентов. Это означает, что каждый клиент будет видеть один и тот же sub claim для пользователя;
- pairwise - идентификатор пользователя уникален для каждого клиента. Это обеспечивает большую конфиденциальность, так как разные клиенты не смогут связать активность пользователя между собой. pairwise часто используется в сценариях, где необходимо защитить приватность пользователя от различных клиентов.