Аутентификация OpenID Connect

Для работы с API Контур.Экстерна необходимо:

Аутентификация в API происходит с помощью сервиса OpenID Провайдер. Сервис реализует протокол аутентификации OpenID Connect и помогает получить Access Token.

Что такое OpenID Connect

Аутентификация – подтверждение личности конечного пользователя и его свойств. В Контуре аутентификация основана на протоколе OpenID Connect.

Почему OpenID:

В Контуре процесс аутентификации обеспечивает OpenID Провайдер.

Что такое OpenID Провайдер

OpenID Провайдер – аутентификационный сервер, который реализует протокол OpenID Connect и выдает Access Token.

Стоит отметить, что аутентификация для всех продуктов Контура единая. Получение Access Token происходит вне API Контур.Экстерна, а в отдельном API OpenID Провайдера:

Что такое Access Token

Access Token – некоторый идентификатор, который позволяет идентифицировать пользователя и выполнять действия от его имени в API. Для получения Access Token нужен api-key и client_id.

Токен передается в header parametres:

Authorization: Bearer <token>

Access Token можно получить с помощью API OpenID Провайдера. Есть несколько способов получения токенов:

  • authorization code flow – для приложений с серверной частью;

  • device flow – для приложений, которые не имеют серверной части или напрямую взаимодействуют с API Контур.Экстерна, например, модуль 1С.

Для интеграции мы рекомендуем использовать authorization code flow.

Порядок взаимодействия

  1. Авторизация приложения в OpenID Провайдер.

  2. Получение Access Token.

  3. Передача приложением токена в API Контур.Экстерн с каждым запросом.

  4. Получение ответа на запрос от API Контур.Экстерна.

../_images/auth_oidc.png