2011年11月6日 星期日

[Security] OAuth and OpenId

[OAuth]
  • 可在保護密碼的條件下,讓使用者自己控制另一個網站向本站查詢其個人資料。
  • Consumer 可以透過 OAuth 從 Provider 取得 User 的使用偏好。 User 將被導引回 Provider 的頁面,確認他是否要讓 Consumer 取得他的使用偏好。 這個確認動作,可能做一次後就會被記住而不會再問,也可能每次都問。這由 Provider 的設計決定,讓 User 選擇。
  • ex: Android AccountManager。

[OpenId]
  • 可以用同一個帳號,就可以登入另一個網站(若其支援的話)。
  • User 在登入 Consumer 網站時,使用者輸入的 OpenID 不一定長成什麼樣子(往往是 URL 形式)。 於是 Consumer 網站就會導引 User 回到 Provider 的登入頁面,完成輸入密碼的動作之後,再回到 Consumer 的使用頁面。
  • Requester 使用 OpenID provider 並不需要特定簽約。
  • 只要網站可以接受 Provider 的 OpenID,就可以使用 OpenID 登入,不需要簽約。

Summary
  • 都不需要有 User 的帳號密碼。
  • OAuth 是能向 Provider 取得 User 使用偏好; OpenId 是能透過 Provider 登入。


SSO
  • 旗下的所有網路服務只需要一組帳號密碼就能通行無阻。
  • 這樣的整合往往只能在同一家網路公司或是像企業內部的資訊系統才有機會作到。
  • ex: Facebook。


* Reference
- 認識 OpenID
- 用案例解釋 OpenID 與 OAuth 的使用情境

沒有留言:

張貼留言