HTTP-аутентификация
Надстройка SaveToDB позволяет подключаться к защищенным веб-ресурсам.
Все версии надстройки поддерживают схемы аутентификации Basic, Forms и Windows. SaveToDB 10 дополнительно поддерживает схемы OAuth1 и OAuth2.
При первом подключении надстройка запускает мастер подключения для аутентификации пользователя.
Схемы Basic, Forms и Windows просты в использовании: пользователь может легко ввести имя и пароль. Схемы OAuth1 и OAuth2 требуют больше данных, включая информацию о зарегистрированном приложении, URL и форматы авторизации.
Разработчики могут настроить эти данные, используя тип Authentication в таблице xls.handlers.
Например:
ID | TABLE_SCHEMA | TABLE_NAME | COLUMN_NAME | EVENT_NAME | HANDLER_SCHEMA | HANDLER_NAME | HANDLER_TYPE | HANDLER_CODE |
---|---|---|---|---|---|---|---|---|
ZohoCRM | * | Authentication | ATTRIBUTE | <connection string> |
Используйте символ *
, чтобы задать настройки аутентификации для всех объектов в схеме (как в примере с ZohoCRM).
Чтобы получить строки подключения, подключитесь к сервису через мастер подключения SaveToDB на вашем компьютере. Затем нажмите кнопку Открыть кэш... на экране мастера и скопируйте строку подключения.
Строка подключения выглядит примерно так:
auth_method=OAuth2; tested_url=https://www.zohoapis.com/crm/v2/Accounts; service_url=https://www.zohoapis.com/crm/v2/; client_id=1000...; client_secret=AppEncrypted@...; redirect_uri=https://www.savetodb.com/redirect/; scope=ZohoCRM.modules.ALL,ZohoCRM.settings.READ; authorization_url=https://accounts.zoho.com/oauth/v2/auth; get_token_url={accounts-server}/oauth/v2/token; refresh_token_url={get_token_url}; revoke_token_url={get_token_url}/revoke; authorization_url_format="{authorization_url}?scope={scope}&client_id={client_id}&response_type=code&access_type=offline&redirect_uri={redirect_uri}"; get_token_url_format={get_token_url}; get_token_body_format="grant_type=authorization_code&client_id={client_id}&client_secret={client_secret}&redirect_uri={redirect_uri}&code={code}"; refresh_token_url_format={refresh_token_url}; refresh_token_body_format="refresh_token={refresh_token}&client_id={client_id}&client_secret={client_secret}&grant_type=refresh_token"; revoke_token_url_format="{revoke_token_url}?token={refresh_token}"; location=us; accounts-server=https://accounts.zoho.com; refresh_token=UsrEncrypted@...; api_domain=https://www.zohoapis.com; token_type=Bearer; last_update=2021-06-23T18:18:45.698Z; name=ZohoCRM; cached=True; access_token=UsrEncrypted@...; expires_in=3600; valid_to=2021-06-23T19:18:41.610Z
Обратите внимание, что секретные данные, такие как client_secret
, refresh_token
и access_token
, шифруются. Значение client_secret
шифруется на уровне приложения и доступно на других компьютерах. Значения refresh_token
и access_token
шифруются алгоритмами Windows на уровне пользователя и доступны только под аккаунтом пользователя на этом компьютере.
Вы можете удалить поля токена, так как пользователи должны получить их на своих компьютерах самостоятельно. В приведенном примере можно удалить все части, начиная с поля location
, за исключением полей name
и cached
.
Свойство name определяет имя провайдера, отображаемое в мастере подключения и используемое в файле кэша строк подключения. Свойство cached позволяет сохранять строки в файле кэша для использования в любых книгах пользователя. Если кэширование отключено, надстройка сохраняет строки подключения только в книгах, и пользователю придется подключаться заново в новых книгах.