Настройка параметров 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 и тела:
| Поле | Переменная |
|---|---|
| Клиентское приложение | |
| 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 из ответов на запросы получения или обновления токена |