Подключение Контур Толк

Контур Толк - сервис для проведения видеоконференций с возможностью записи, планированием, интеграцией с телефонией и многим другим. Обеспечивает удобное и безопасное общение сотрудников друг с другом и с партнерами, в формате видео-аудио конференций. Приложение Толк можно скачать с сайта.

Пространство в Толке можно интегрировать с единой системой входа компании (Single-Sign-On, SSO). В этом случае аутентификация пользователей для входа в пространство будет происходить на стороне организации. Пользователям не нужно будет отдельно регистрировать учетную запись в Контуре. Для интеграции с Толком система входа должна работать по схеме Authorization Code Flow по одному из протоколов:

  • OpenId Connect.

  • OAuth 2.0.

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;
  • настройка на стороне системы Контур Толк.

Создание приложения в Trusted.ID

  1. Авторизоваться или зарегистрироваться в системе Trusted.ID.
  2. Создать приложение по описанию раздела Приложения, заполнив поля:

create_app_tolk.png

Обязательно необходимо ввести:

  • Адрес приложения - адрес инсталляции системы Толк;
  • Возвратный URL #1 (Redirect_uri) - <адрес инсталляции Толк>/login/callback.

create_app_tolk1.png

  1. Перейти в настройки приложения. Необходимо скопировать значения полей Идентификатор (Client_id) и Секретный ключ (Client_secret).

secret_app_tolk.png

Настройка системы Контур Толк

Важно

Для корректной работы, возможно, потребуется подтверждение/разрешение домена в со стороны Контур Толк. Подтверждение необходимо, чтобы только сотрудники организации могли использовать домен для SSO. Для уточнения этого вопроса и проведения необходимых работ, необходимо обратиться в службу технической поддержки сервиса Толк.

Для настройки параметров со стороны сервиса, необходимо обратится в техподдержку системы Контур Толк с запросом на подключение SSO. В запросе нужно будет указать CLIENT_ID и CLIENT_SECRET приложения, которое создано в Trusted ID.

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

widget_tolk.png