Что такое OAuth2.0?
  • 27 May 2024
  • 3 Минуты для чтения
  • Авторы

Что такое OAuth2.0?


Вводный текст

Изучение OAuth2.0

Добро пожаловать на исследование OAuth2.0, мощного, но часто неправильно понимаемого протокола аутентификации в Tulip-версии. В этой статье мы раскроем основы, проведем вас через поддерживаемые Tulip потоки аутентификации, расскажем о конфигурации вашего начального коннектора и поделимся краткими советами для успешного старта.

OAuth2.0 может быть очень сложным, поэтому для краткости изложения мы опустили некоторые подробные технические аспекты в этой статье. Если вы хотите узнать больше о том, как Tulip работает с токенами обновления, как управлять областью действия и аудиторией, а также о пользовательских конфигурациях коннекторов, рекомендуем ознакомиться с этим подробным техническим руководством по OAuth2.0.

Раскрытие основ

Прежде чем углубляться в специфику, мы рекомендуем ознакомиться со средами и получить представление о хостах коннекторов и их функциях.

OAuth2.0 служит механизмом, с помощью которого Tulip (клиент) устанавливает свою идентичность с вашими бизнес-системами. Доступ предоставляется через рукопожатие, и Tulip в основном поддерживает поток Authorization Code Flow, наиболее распространенный поток OAuth. Вот краткий обзор того, как работает этот поток:

  1. Пользователь инициирует поток, нажав кнопку Test перед сохранением коннектора.
  2. Tulip связывается с сервером авторизации вашего OAuth-провайдера, обмениваясь определенными параметрами, такими как идентификатор клиента, область действия (то, к чему вы пытаетесь получить доступ) и другие важные данные.
  3. Сервер авторизации запрашивает у пользователя разрешение на доступ, как показано ниже:

  1. После согласия пользователя сервер авторизации генерирует код авторизации и завершает окно аутентификации.
  2. Вооружившись кодом авторизации, Tulip безопасно запрашивает токен, обращаясь к конечной точке токена, предоставляя код авторизации, идентификатор клиента, секрет клиента и дополнительные свойства.
  3. После проверки кода авторизации сервер отвечает токеном и, при желании, токеном обновления. Этот токен служит для авторизованных пользователем запросов.
  4. Теперь Tulip может выполнять запросы от имени пользователей, используя предоставленный токен для авторизации.

Token Request

Настройка 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 для получения дополнительной функциональности. :::

Копаем глубже

Хотите узнать больше? Изучите эти статьи:


Была ли эта статья полезной?