- Распечатать
Изучение OAuth2.0
Добро пожаловать на исследование OAuth2.0, мощного, но часто неправильно понимаемого протокола аутентификации в Tulip-версии. В этой статье мы раскроем основы, проведем вас через поддерживаемые Tulip потоки аутентификации, расскажем о конфигурации вашего начального коннектора и поделимся краткими советами для успешного старта.
OAuth2.0 может быть очень сложным, поэтому для краткости изложения мы опустили некоторые подробные технические аспекты в этой статье. Если вы хотите узнать больше о том, как Tulip работает с токенами обновления, как управлять областью действия и аудиторией, а также о пользовательских конфигурациях коннекторов, рекомендуем ознакомиться с этим подробным техническим руководством по OAuth2.0.
Раскрытие основ
Прежде чем углубляться в специфику, мы рекомендуем ознакомиться со средами и получить представление о хостах коннекторов и их функциях.
OAuth2.0 служит механизмом, с помощью которого Tulip (клиент) устанавливает свою идентичность с вашими бизнес-системами. Доступ предоставляется через рукопожатие, и Tulip в основном поддерживает поток Authorization Code Flow, наиболее распространенный поток OAuth. Вот краткий обзор того, как работает этот поток:
- Пользователь инициирует поток, нажав кнопку Test перед сохранением коннектора.
- Tulip связывается с сервером авторизации вашего OAuth-провайдера, обмениваясь определенными параметрами, такими как идентификатор клиента, область действия (то, к чему вы пытаетесь получить доступ) и другие важные данные.
- Сервер авторизации запрашивает у пользователя разрешение на доступ, как показано ниже:
- После согласия пользователя сервер авторизации генерирует код авторизации и завершает окно аутентификации.
- Вооружившись кодом авторизации, Tulip безопасно запрашивает токен, обращаясь к конечной точке токена, предоставляя код авторизации, идентификатор клиента, секрет клиента и дополнительные свойства.
- После проверки кода авторизации сервер отвечает токеном и, при желании, токеном обновления. Этот токен служит для авторизованных пользователем запросов.
- Теперь Tulip может выполнять запросы от имени пользователей, используя предоставленный токен для авторизации.
Настройка OAuth
Пример конфигурации
Типы аутентификации
Tulip поддерживает два типа аутентификации OAuth2.0: Admin OAuth и Operator OAuth. Ключевое различие заключается в том, как учетные данные передаются пользователям.
:::(Info) (Примечание) В старых версиях Tulip OAuth2.0 (учетная запись сервиса) называлась OAuth2 (Admin), а OAuth2.0 (учетные данные пользователя) - OAuth2 (Operator). :::
- OAuth2.0 (Учетная запись службы): Использует учетные данные, предоставленные во время тестирования коннектора для всех пользователей Tulip Player. Идеально подходит для использования общих учетных данных в вашей организации. В случае истечения срока действия учетных данных требуется повторная аутентификация администратора.
- OAuth2.0 (учетные данные пользователя): Сегментирует аутентификацию на основе пользователя, вошедшего в Tulip Player. Если пользователь не прошел аутентификацию или срок аутентификации истек, он проходит процедуру OAuth в Tulip Player.
URL-адрес кода авторизации
Это URL-адрес, к которому Tulip обращается на этапе 2 потока кода авторизации. Его можно найти в документации по API вашего OAuth-провайдера, обычно он заканчивается на /auth
или /authorize
.
URL-адрес токена доступа
После ответа сервера авторизации выполняется запрос на URL Access Token, чтобы получить токен для аутентификации. Как правило, он заканчивается на /token
.
Идентификатор клиента и секрет клиента
Идентификатор клиента генерируется в пользовательском интерфейсе вашего OAuth-провайдера и передается вместе с первоначальным запросом на получение кода аутентификации. Идентификатор клиента и секрет клиента сопровождают все запросы на получение токена.
Аудитория и область применения
Audience определяет конкретные активы, к которым пользователь хочет получить доступ, а Scope определяет действия, которые необходимо выполнить с этими активами. Оба параметра передаются во время запроса кода авторизации на шаге 2.
Дополнительные параметры
- Отправить данные запроса токена в формате JSON: Изменяет тип кодировки для запроса, отправляемого на URL-адрес токена. Включается, если это необходимо для определенных интеграций.
- Отправлять заголовок аутентификации для запроса обновления: Добавляет дополнительный Header к запросам на обновление, если он включен.
- Пропускать подсказку о согласии пользователя: Управляет атрибутом подсказки запроса кода аутентификации. Отключенный устанавливает значение "
Согласие
", а включенный - "Вход"
, позволяя провайдеру OAuth самому решать, какой экран входа отображать.
:::(Warning) (Примечание) Для некоторых интеграций исключите или установите атрибут prompt на none
. Свяжитесь с support@tulip.co для получения дополнительной функциональности. :::
Копаем глубже
Хотите узнать больше? Изучите эти статьи: