Параметры настройки OAuth2
Надстройка SaveToDB позволяет настраивать параметры поставщика OAuth2 при подключении к источникам веб-данных.
Мы уверены, что вы можете настроить его для любого поставщика.
Ниже приведен пример параметров настройки ZohoCRM:
Страница содержит текстовое поле с именем поставщика и тремя разделами:
- Клиентское приложение
- Адреса службы
- Форматы URL и тела
Раздел Клиентское приложение содержит:
- Client ID
- Client secret
- Redirect URI
- Scope
Эти значения можно получить при регистрации приложения у поставщика OAuth2.
Мы планируем добавить встроенные зарегистрированные приложения для популярных провайдеров в следующих версиях.
Обычно можно задать область действия. Обратитесь к документации поставщика OAuth.
В примере выше запрашиваются все разрешения для всех модулей и разрешения на чтение для параметров.
Раздел Адреса службы содержит:
- URL-адрес авторизации
- URL-адрес получения токена
- URL-адрес обновления токена
- URL-адрес отзыва токена
Эти URL-адреса можно найти в документации поставщика OAuth2.
URL-адреса можно указывать как есть или с помощью переменных.
Например, URL-адрес обновления токена содержит переменную {get_token_url}.
Соответственно, надстройка будет использовать значение поля URL-адреса получения токена.
Переменные позволяют реализовывать динамические URL-адреса с использованием значений из предыдущих шагов.
Например, ZohoCRM возвращает значение accounts-server в ответе авторизации, которое не является типичным для других поставщиков.
Надстройка позволяет использовать такие значения. Например, поле URL-адреса получения токена содержит переменную {accounts-server}.
Раздел Форматы URL и тела содержит форматы URL-адресов и тел запросов.
В OAuth2 определяются типовые форматы, и надстройка предлагает значения по умолчанию, построенные с использованием переменных.
Форматы можно изменить в соответствии с требованиями поставщика OAuth2.
Переменные
Значения полей диалогового окна можно использовать в форматах URL и body:
Поле | Переменная |
---|---|
Клиентское приложение | |
Client ID | {client_id} |
Client secret | {client_secret} |
Redirect URI | {redirect_uri} |
Scope | {scope} |
Адреса службы | |
URL-адрес авторизации | {authorization_url} |
URL-адрес получения токена | {get_token_url} |
URL-адрес обновления токена | {refresh_token_url} |
URL-адрес отзыва | {revoke_token_url} |
Форматы URL и тела | |
URL-адрес авторизации | {authorization_url_format} |
URL-адрес получения токена | {get_token_url_format} |
Тело запроса получения токена | {get_token_body_format} |
URL-адрес обновления токена | {refresh_token_url_format} |
Тело запроса обновления токена | {refresh_token_body_format} |
URL-адрес отзыва токена | {revoke_token_url_format} |
Тело запроса отзыва токена | {revoke_token_body_format} |
Таблица ниже содержит типичные значения, определенные в OAuth2:
Поле | Типовое значение |
---|---|
Адреса службы | |
URL-адрес обновления токена | {get_token_url} |
URL-адрес отзыва токена | {get_token_url}/revoke |
Форматы URL и тела | |
URL-адрес авторизации | {authorization_url}?scope={scope}&client_id={client_id}&response_type={response_type}&redirect_uri={redirect_uri} |
URL-адрес получения токена | {get_token_url} |
Тело запроса получения токена | grant_type={grant_type}&client_id={client_id}&client_secret={client_secret}&redirect_uri={redirect_uri}&code={code} |
URL-адрес обновления токена | {refresh_token_url} |
Тело запрос обновления токена | refresh_token={refresh_token}&client_id={client_id}&client_secret={client_secret}&grant_type={grant_type} |
URL-адрес отзыва токена | {revoke_url} |
Тело отзыва токена | token={refresh_token} |
Можно использовать следующие переменные, определенные в запросах на утверждение или полученные из ответов на утверждение:
Переменная | Значение |
---|---|
{response_type} | code |
{grant_type} | authorization_code для запросов авторизации и refresh_token для запросов обновления токена |
{code} | Значение code из ответа запроса авторизации |
{access_token} | Значение access_token из ответа запроса получения токена |
{refresh_token} | Значение refresh_token из ответа запросов получения или обновления токена |
{token_type} | Значение token_type из ответа запросов получения или обновления токена |
{expires_in} | Значение expires_in из ответа запросов получения или обновления токена |