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 позволяет сохранять строки в файле кэша строк подключения для использования в любых книгах пользователя.
Если отключить кэширование, то надстройка сохраняет строки подключения только в книгах, и пользователь должен подключаться в новых книгах заново.