2011-06-09 99 views
2

我正在編寫一個Web應用程序「B」,它通過REST API與我編寫和控制的另一個Web應用程序「A」進行接口。 我希望登錄到A的用戶能夠對B使用API​​與A進行通信來執行操作。我最好的選擇看起來像OAuth,但我希望這種體驗是無縫的,OAuth要求用戶同意在訪問令牌被授予之前。可信消費者密鑰的OAuth自動同意

  1. OAuth是否適合這種情況?有更好的選擇嗎?
  2. 如果我確實使用OAuth,我可以通過信任消費者密鑰來預先授權同意嗎?

回答

0

伊蘭錘Lahav says

用戶應在其 資源的控制權,但如果這是一個供應商分佈在多個 域 只是一個情況下,我看到跳繩沒有壞處 授予對客戶的訪問權限,該客戶實質上由同一實體擁有,其爲 。

1

您可以執行XAu​​th,這是OAuth上的擴展。它使用與請求/訪問令牌和祕密相同的原則,但允許您爲訪問令牌交換用戶名/密碼組合。

我們可以做:

  1. 用戶登錄到我們的iPhone應用程序
  2. iPhone創建的OAuth請求令牌請求,再加上通過HTTPS發送的用戶名+密碼
  3. 驗證請求(祕密等,+用戶名/密碼),生成請求令牌,併爲訪問令牌交換請求令牌。 (這一步完全在服務器上,所以服務器進行交換)。
  4. 訪問令牌返回給用戶
  5. iPhone應用程序正常使用OAuth協議+訪問令牌傳遞給服務器

原路Twitter正在做它的應用程序,不允許一個簡單的OAuth認證頁。

+0

如果用戶已經登錄到A,我希望他們能夠使用B而無需再次登錄 – 2011-06-09 19:37:08

+0

@JacobKrall,我認爲這更多的是單點登錄(身份驗證)而不是OAuth(授權) 。爲此,您需要實施單點登錄解決方案。 – 2014-06-30 15:29:34

0

查看oauth2客戶端憑據流。

相關問題