Приложения

Управление приложениями доступно только пользователям с ролью Владелец или Администратор личного кабинета.

Управление приложениями осуществляется в модуле Приложения.

app-list.png

Для Приложений доступны функции:

  • создание и настройка параметров приложения для взаимодействия с внешней системой;
  • назначение администраторов приложения;
  • настройка способов входа и внешнего вида виджета входа в приложение.

Управление приложениями осуществляется через доступные кнопки или контекстное меню.

app-list-menu.png

Для подключения к внешней системе сервиса Trusted.ID требуется:

  • создание и настройка приложения в Trusted.ID;
  • настройка подключения по протоколу OAuth 2.0/OpenID Connect 1.0 во внешней системе.

Создание приложения

Создание приложения осуществляется в разделе Приложения по кнопке Создать приложение.

На форме создания приложения задается базовый набор параметров, необходимых для настройки входа в информационную систему через Trusted.ID:

  • Основная информация - название, логотип, обложка и описание приложения;
  • Параметры приложения - адрес и настройки аутентификации.

app-create1.png

При создании формируются дополнительные данные приложения, которые можно посмотреть и отредактировать в настройках приложения:

  • Идентификатор (client_id) – публичная строка, которая используется для идентификации приложения, и для создания авторизационных URL для пользователей;
  • Секретный ключ (client_secret) - используется для аутентификации подлинности приложения, когда приложение запрашивает доступ к аккаунту пользователя. Секретный ключ должен быть известен только приложению.

Расширенный набор параметров доступен при редактировании приложения.

Редактирование настроек приложения

Для редактирования параметров приложения необходимо перейти в раздел Приложения и открыть настройки приложения одним из следующих способов:

  • в контекстном меню выбрать пункт Настройки;
    app-edit-menu.png
  • на форме просмотра профиля приложения нажать кнопку Настройки.
    app-edit-button.png

Основная информация

В блоке Основная информация задаются:

  • Название приложения - используется на виджете входа в приложение;
  • Описание приложения - описание приложения;
  • Логотип приложения - может быть добавлен на виджет входа.

app-edit1.png

Параметры приложения

В разделе можно посмотреть, скопировать и изменить параметры:

  • Идентификатор (client_id) – уникальный идентификатор приложения. Возможно быстро скопировать значение, используя соответствующую кнопку в поле.
  • Секретный ключ (client_secret) – значение скрыто, должен быть известен только приложению. Возможно показать значение или скопировать.
  • Адрес приложения – сайт информационной системы, на котором будет использоваться вход через Trusted.ID.
  • Возвратный URL (Redirect_uri) - URL, на который сервер Trusted.ID будет перенаправлять пользователя после аутентификации. После того как пользователь аутентифицируется и даст согласие на доступ к своим данным, сервер перенаправляет пользователя обратно на Redirect_uri с кодом авторизации, ID токеном или другой информацией, в зависимости от запрошенного response_type.
  • 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 часто используется в сценариях, где необходимо защитить приватность пользователя от различных клиентов.

app-edit2.png

Способы входа

В разделе настраиваются способы входа для приложения - с помощью каких сервисов и данных пользователи смогут входить в приложение.

По умолчанию в виджете для входа используется логин/пароль пользователя в сервисе. Для виджета должен быть выбран хотя бы один способ входа.

app-edit3.png

Внешний вид виджета приложения

В разделе можно настроить параметры:

  • Показывать логотип приложения на виджете - при включении тогла рядом с названием приложения отображается изображение, загруженное в качестве логотипа в разделе Основная информация;
  • Скрыть шапку - при включении тогла в шапке виджета скрывается надпись <Авторизуйтесь пользователем Trusted>;
  • Скрыть подвал - при включении тогла в подвале виджета скрывается надпись со Сведениями об авторских правах;
  • Заголовок виджета - в строке ввода задается название приложения, в которое пользователь авторизуется. По умолчанию Вход на <Название приложения>;
  • Цвет кнопок, Цвет шрифта на кнопках, Цвет ссылок - задается цветовая схема кнопок, текста на кнопках и ссылок по hex-коду.

В Превью отображается макет внешнего вида виджета.

app-edit4.png