OpenID

由 webmaster 在 四, 2011/12/29 - 20:07 發表

 

一、OpenID簡介

OpenId是一個以用戶為中心的數字身份識別框架,它具有開放、分散、自由等特性。OpenId的創建是基於這樣一個概念:我們可以通過URI(或者URL網址)來識別一個網站。同樣,我們也可以通過這樣的方式來識別一個用戶的身份。OpenId系統的身份認證就是通過URI來認證用戶身份。目前絕大部分網站都是通過用戶名與密碼來登錄認證用戶身份,這就要求大家在每個你要使用的網站上註冊一個帳號。如果使用OpenId,你可以在一個提供OpenId的網站上註冊一個OpenId,以後你可以使用這個OpenId去登錄支持OpenId的網站。這正是一處註冊,到處使用的體現。

登錄一個支持OpenID 的網站非常簡單(即便你是第一次訪問這個網站也是一樣)。只需要輸入你註冊好的OpenID 用戶名,然後你登錄的網站會跳轉到你的OpenID 服務網站,在你的OpenID 服務網站輸入密碼(或者其它需要填寫的信息)驗證通過後,你會回到登錄的網站並且已經成功登錄。OpenID 系統可以應用於所有需要身份驗證的地方,既可以應用於單點登錄系統,也可以用於共享敏感數據時的身份認證。

除了一處註冊到處通行以外,OpenID 給所有支持OpenID 的網站帶來了價值--共享用戶資源。用戶可以清楚的控制哪些信息可以被共享,例如姓名、地址、電話號碼等。今天,OpenID 作為以用戶為中心的身份驗證系統已經為數百萬的用戶提供了服務。

二、OpenID相關術語

  • End User:終端用戶,使用OP與RP的服務
  • Relying Party依賴方:簡稱RP,服務提供者,需要OP鑑權終端用戶的身份
  • OpenID Provider:OpenID提供者,簡稱OP,對用戶身份鑑權
  • Identifier標識符:標識符可以是一個HTTP、HTTPS或者XRI(可擴展的資源標識)
  • User-Agent:實現了HTTP1.1協議的用戶瀏覽器
  • OP Endpoint URL:OP鑑權的URL,提供給RP使用
  • OP Identifier:OP提供給終端用戶的一個URI或者XRI,RP根據OP Identifier來解析出OP Endpoint URL與OP Version
  • User-Supplied Identifier:終端用戶使用的ID,可能是OP提供的OpenID,也可以是在RP註冊的ID。RP可以根據User-Supplied Identifier來解析出OP Endpoint URL、OP Version與OP_Local Identifer
  • Claimed Identifier:終端用戶聲明自己身份的一個標誌,可以是一個URI或者XRI
  • OP-Local Identifier:OP提供的局部ID

三、OpenID驗證流程

  1. 終端用戶請求登錄RP網站,用戶選擇了以OpenID方式來登錄
  2. RP將OpenId的登錄界面返回給終端用戶
  3. 終端用戶以OpenID登陸RP網站
  4. RP網站對用​​戶的OpenID進行標準化,此過程非常負責。由於OpenID可能是URI,也可能是XRI,所以標準化方式各不相同。具體標準化過程是:如果OpenID以xri://、xri://$ip或者xri://$dns開頭,先去掉這些符號;然後對如下的字符串進行判斷,如果第一個字符是=、 @、+、$、!,則視為標準的XRI,否則視為HTTP URL(若沒有http,為其增加http://)。
  5. RP發現OP,如果OpenId是XRI,就採用XRI解析,如果是URL,則用Yadis協議解析,若Yadis解析失敗,則用Http發現。
  6. RP跟OP建立一個關聯。兩者之間可以建立一個安全通道,用於傳輸信息並降低交互次數。
  7. OP處理RP的關聯請求
  8. RP請求OP對用戶身份進行鑑權
  9. OP對用戶鑑權,請求用戶進行登錄認證
  10. 用戶登錄OP
  11. OP將鑑權結果返回給RP
  12. RP對OP的結果進行分析

本文來自:http://www.biaodianfu.com/learn-openid.html 

Read more >>

關於EC ONE ECONE-top-right.png