OAuth 2.0 в Salesforce без веб-страницы - PullRequest
4 голосов
/ 10 февраля 2011

Я пытаюсь подключиться к Salesforce.com с помощью интерфейса OAuth 2.0. Я нашел такие решения, как LROAuth2Client , которые позволяют мне открывать веб-страницу и выполнять такую ​​аутентификацию. Но есть ли способ сделать это через бэкэнд, не заходя сначала на веб-страницу, чтобы я мог более интегрировать его в приложение?

Я новичок в OAuth, поэтому не знаю всех ограничений.

Заранее спасибо.

Ответы [ 3 ]

5 голосов
/ 10 февраля 2011

Salesforce поддерживает опцию имени пользователя / пароля OAuth2, и все это делается без веб-страницы. например используя curl, вы бы сделали

curl -v https://login.salesforce.com/services/oauth2/token -d "grant_type=password" -d "client_id=xxxxxxxxxx" -d "client_secret=1234567890" -d "username=noreply@salesforce.com" -d "password=XXXXXXXXX"

Сказав это, веб / интерактивный поток довольно прост в использовании из iOS, используя URL-адрес пользовательской схемы для обратного вызова (попытка использовать библиотеку, возможно, усложняет ее, чем на самом деле). Сетевой поток важен для пользователей, которые настроены на альтернативные потоки аутентификации (например, SSO на основе SAML), которые не будут работать над потоком имени пользователя / пароля.

Где-то в сети должно быть видео где-нибудь о сеансе REST & OAuth от dreamforce'10, где премьер-министр безопасности написал на сцене клиентское приложение для iPhone oAuth на iPhone.

0 голосов
/ 03 января 2014

Есть еще один подход к этому.Вы можете посетить мой сайт для подхода.

0 голосов
/ 14 августа 2012

Это зависит от вашей цели.Одна из причин использования oauth2 заключается в том, что вы хотите лучше понять, что работает.Допустим, например, что у вас есть много приложений cron API, подключенных к одному сайту.В этом случае, поскольку они являются приложениями cron, вам даже не обязательно запускать веб-браузер на ваших серверах cron.Конечно, вы можете просто настроить имя пользователя и пароль, но затем, если у вас есть сброс пароля, вам нужно обновить все ваши серверы cron, и вы даже не обязательно знаете, сколько это серверов.Особенно, если они проходят через NAT.

В этом типе сценария очень работоспособное решение состоит в том, чтобы использовать в качестве URL-адреса обратного вызова страницу принудительной визуализации на salesforce.Администратор может войти в систему Salesforce, а затем использовать страницу визуального форсирования для создания токена обновления, а затем передать его для использования с заданием cron.

Вы знаете, что на этапе аудита oauth 2Выдаемый токен может быть ограничен API.И, надеюсь, если у Salesforce нет правильного oauth 2, вы можете менять пароль при входе пользователя в систему так часто, как это необходимо, без влияния на выданные вами токены.

Счет

...