2011-02-10 38 views
4

我嘗試使用他們的OAuth 2.0界面連接到Salesforce.com。我找到了像LROAuth2Client這樣的解決方案,可以讓我打開網頁並進行身份驗證。但是,是否有辦法通過後端完成此操作,而無需首先訪問網頁,以便我可以將其更加集成到應用程序中?OAuth 2.0到沒有網頁的Salesforce

我是OAuth的新手,所以我不知道所有的限制。

在此先感謝。

+0

Salesforce webauth只是iPad上的一款褲子用戶體驗,開箱即用其原生SDK。酒吧似乎選項卡之間的字段......真的?沒有辦法從忘記的密碼幫助視頻頁面恢復...真的嗎?在藍色頁面之前閃爍空白的白色屏幕...呃。 – 2014-02-04 16:04:15

+0

關於這整個過程的非常詳細的答案在這裏http://stackoverflow.com/questions/12794302/salesforce-authentication-failing/29112224 – 2015-03-18 00:45:01

回答

5

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 "[email protected]" -d "password=XXXXXXXXX" 

話雖如此,網絡/互動流是非常簡單的,從iOS的使用,使用自定義方案URL回調(欲以庫可能使它比更難它實際上是)。基於Web的流程對於配置用於替代認證流程(例如基於SAML的SSO)的用戶很重要,後者不會在用戶名/密碼流程中運行。

在dreamscape'10的REST & OAuth會話中,應該有一個視頻在線,安全PM在舞臺上寫了一個基於iPhone oAuth客戶端的應用程序。

0

這取決於你的目標。使用oauth2的一個原因是您希望更好地瞭解正在運行的內容。比方說,例如你有許多連接到同一個站點的cron API應用程序。在這種情況下,由於它們是cron應用程序,因此您甚至不必在您的cron服務器上運行Web瀏覽器。你當然可以配置用戶名和密碼,但是如果你有一個密碼重置,你必須更新所有的cron服務器,你甚至不一定知道有多少個服務器。特別是如果他們正在通過NAT。

在這種情況下,一種非常實用的解決方案是將salesforce上的可視化頁面用作回調URL。管理員可以登錄salesforce,然後使用可視化頁面生成刷新令牌,然後交給cron作業使用。

你知道你的審計階段有oauth 2。您發佈的令牌可能僅限於API。希望如果salesforce沒有正確地使用oauth 2,您可以根據需要隨時重置用戶登錄密碼,而不會影響您分發的令牌。

Bill

0

還有一種方法可以解決這個問題。您可以訪問我的​​的方法。