Инструкции по подключению к Salesforce с использованием OAuth с драйвером CData ODB C приведены здесь: http://cdn.cdata.com/help/RFE/odbc/pg_oauthcustomappcreate.htm (скопировано ниже).
Короче говоря, вы будете использовать Токен доступа OAuth и URL-адрес сервера OAuth. Ваш код будет выглядеть следующим образом:
cnxn = pyodbc.connect("DRIVER={CData ODBC Driver for Salesforce};OAuthAccessToken=OAUTH_ACCESS_TOKEN;OAuthServerUrl=OAUTH_SERVER_URL;")
Аутентификация в Salesforce из веб-приложения
Чтобы получить токен доступа, установите следующее подключение свойства:
- OAuthClientId : установите ключ потребителя в настройках приложения.
- OAuthClientSecret : установите секрет потребителя в своем настройки приложения.
- CallbackURL : установите URL-адрес обратного вызова в настройках приложения.
При подключении через веб-приложение или если драйвер не авторизован чтобы открыть окно браузера, вам необходимо обменять временные значения проверки для токена доступа:
- Вызовите GetOAuthAuthorizationUrl. Хранимая процедура возвращает URL-адрес конечной точке OAuth.
- Войдите в систему и авторизуйте приложение. Вы будете перенаправлены обратно на URL обратного вызова. Если для параметра GrantType задано значение Implicit, URL-адрес обратного вызова содержит OAuthAccessToken и OAuthServerUrl в параметре строки запроса. Если для параметра GrantType задано значение code, URL-адрес обратного вызова содержит код верификатора в параметре строки запроса с именем «code». Извлеките код верификатора и вызовите GetOAuthAccessToken.
Соответствующая часть:
Для подключения к данным установите следующие свойства подключения:
- OAuthAccessToken
- OAuthServerUrl
Чтобы автоматически обновить sh токен доступа после его истечения, установите InitiateOAuth до REFRE SH и установите OAuthRefreshToken . Также можно вызвать хранимую процедуру RefreshOAuthAccessToken, когда срок действия маркера доступа истечет. Если в качестве входных данных используется токен refre sh, процедура возвращает действительный токен доступа OAuth.
В качестве альтернативы для получения URL-адреса авторизации и входа пользователя в систему Salesforce можно настроить тип предоставления пароля. вызывая GetOAuthAccessToken, устанавливая GrantType в ПАРОЛЬ. Здесь необходимо убедиться, что имя пользователя и пароль заданы в строке подключения, в дополнение к идентификатору клиента и секрету вашего приложения. Обратите внимание, что InitiateOAuth должен быть установлен в OFF, чтобы тип предоставления пароля работал. Вы не можете обновить sh токен, полученный таким образом. Преимущество этого метода заключается в удалении шага входа для пользователей, которые не могут открыть веб-браузер, но он имеет тот недостаток, что учетные данные пользователя передаются в виде простого текста между сервером и Salesforce.
Примечание : Вы можете настроить время ожидания сеанса в Salesforce, выбрав «Настройка»> «Настройка администрирования»> «Элементы управления безопасностью»> «Параметры сеанса».