IdentityServer4專題之二:OpenID介紹

1.基於概念瀏覽器

OpenId是一個以用戶爲中心的數字身份識別框架,它具備開放、分散、自由等特性。OpenId的建立是基於這樣一個概念:咱們能夠經過URI(或者URL網址)來識別一個網站。一樣,咱們也能夠經過這樣的方式來識別一個用戶的身份。OpenId系統的身份認證就是經過URI來認證用戶身份。目前絕大部分網站都是經過用戶名與密碼來登陸認證用戶身份,這就要求你們在每一個你要使用的網站上註冊一個賬號。若是使用OpenId,你能夠在一個提供OpenId的網站上註冊一個OpenId,之後你可使用這個OpenId去登陸支持OpenId的網站。這正是一處註冊,處處使用的體現。安全

登陸一個支持 OpenID 的網站很是簡單(即使你是第一次訪問這個網站也是同樣)。只須要輸入你註冊好的 OpenID 用戶名,而後你登陸的網站會跳轉到你的 OpenID 服務網站,在你的 OpenID 服務網站輸入密碼(或者其它須要填寫的信息)驗證經過後,你會回到登陸的網站而且已經成功登陸。 OpenID 系統能夠應用於全部須要身份驗證的地方,既能夠應用於單點登陸系統,也能夠用於共享敏感數據時的身份認證。 框架

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

2.OpenID相關術語網站

End User:終端用戶,使用OP與RP的服務blog

Relying Party依賴方:簡稱RP,服務提供者,須要OP鑑權終端用戶的身份dns

OpenID Provider:OpenID提供者,簡稱OP,對用戶身份鑑權ip

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

3、OpenID驗證流程

終端用戶請求登陸RP網站,用戶選擇了以OpenID方式來登陸

RP將OpenId的登陸界面返回給終端用戶

終端用戶以OpenID登錄RP網站

RP網站對用戶的OpenID進行標準化,此過程很是負責。因爲OpenID多是URI,也多是XRI,因此標準化方式各不相同。具體標準化過程是:若是OpenID以xri://、xri://$ip或者xri://$dns開頭,先去掉這些符號;而後對以下的字符串進行判斷,若是第一個字符是=、@、+、$、!,則視爲標準的XRI,不然視爲HTTP URL(若沒有http,爲其增長http://)。

RP發現OP,若是OpenId是XRI,就採用XRI解析,若是是URL,則用Yadis協議解析,若Yadis解析失敗,則用Http發現。

RP跟OP創建一個關聯。二者之間能夠創建一個安全通道,用於傳輸信息並下降交互次數。

OP處理RP的關聯請求

RP請求OP對用戶身份進行鑑權

OP對用戶鑑權,請求用戶進行登陸認證

用戶登陸OP

OP將鑑權結果返回給RP

RP對OP的結果進行分析

相關文章
相關標籤/搜索