Как аутентифицировать Salesforce с помощью драйвера CData ODB C через OAuth accessToken? - PullRequest
0 голосов
/ 05 марта 2020

Я могу получить данные о продажах только из имени пользователя и пароля, как показано ниже.

cnxn = pyodbc.connect("DRIVER={CData ODBC Driver for Salesforce};User=myUser;Password=myPassword;Security Token=myToken;")

Но если я не хочу указывать там имя пользователя и пароль и хочу получить доступ к данным с помощью Accesstoken, который возвращается от Оут. Как я могу это сделать?

1 Ответ

0 голосов
/ 05 марта 2020

Инструкции по подключению к 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-адрес обратного вызова в настройках приложения.

При подключении через веб-приложение или если драйвер не авторизован чтобы открыть окно браузера, вам необходимо обменять временные значения проверки для токена доступа:

  1. Вызовите GetOAuthAuthorizationUrl. Хранимая процедура возвращает URL-адрес конечной точке OAuth.
  2. Войдите в систему и авторизуйте приложение. Вы будете перенаправлены обратно на 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, выбрав «Настройка»> «Настройка администрирования»> «Элементы управления безопасностью»> «Параметры сеанса».

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...