HTTP-аутентификация

HTTP-аутентификация

Надстройка SaveToDB позволяет подключаться к защищенным веб-ресурсам.

Все версии надстройки поддерживают схемы аутентификации Basic, Forms и Windows.

SaveToDB 10 дополнительно поддерживает схемы OAuth1 и OAuth2.

Когда пользователь подключается в первый раз, надстройка активирует мастер подключения для аутентификации пользователя.

Схемы Basic, Forms и Windows являются достаточно простыми. Пользователь может легко ввести имя и пароль.

Схемы OAuth1 и OAuth2 требуют больше данных: данные зарегистрированного приложения, URL и форматы авторизации.

Разработчики могут настроить эти данные используя тип Authentication в таблице xls.handlers.

Например:

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

Если отключить кэширование, то надстройка сохраняет строки подключения только в книгах, и пользователь должен подключаться в новых книгах заново.