Аутентификация OpenID Connect
Для работы с API Контур.Экстерна необходимо:
Аутентификация в API происходит с помощью сервиса OpenID Провайдер. Сервис реализует протокол аутентификации OpenID Connect и помогает получить Access Token.
Что такое OpenID Connect
Аутентификация – подтверждение личности конечного пользователя и его свойств. В Контуре аутентификация основана на протоколе OpenID Connect.
Почему OpenID:
аутентификация конечного пользователя происходит с помощью Access Token;
OpenID Connect поддерживает несколько способов получения токенов:
аутентификация по коду подтверждения через authorization code flow;
аутентификация по веб-ссылке через device flow.
OpenID Connect не работает с cookies на домене конечного пользователя.
В Контуре процесс аутентификации обеспечивает OpenID Провайдер.
Что такое OpenID Провайдер
OpenID Провайдер – аутентификационный сервер, который реализует протокол OpenID Connect и выдает Access Token.
Стоит отметить, что аутентификация для всех продуктов Контура единая. Получение Access Token происходит вне API Контур.Экстерна, а в отдельном API OpenID Провайдера:
рабочая площадка: https://identity.kontur.ru ;
тестовая площадка: https://identity.testkontur.ru .
Что такое 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.
Порядок взаимодействия
Авторизация приложения в OpenID Провайдер.
Получение Access Token.
Передача приложением токена в API Контур.Экстерн с каждым запросом.
Получение ответа на запрос от API Контур.Экстерна.
