[OpenID Connect]是啥,做啥用的?

  • 13427
  • 0

本篇初淺的介紹啥是OIDC(OpenID Connect),用途在哪?與一些常見問題。

OpenID Connect

OIDC(OpenID Connect) 是基於OAuth 2.0 的一種身份認證協議,基於JSON 格式,良好的兼容REST。允許使用者端通過Authorization Server 驗證使用者身份,並以標準的ID_TOKEN 獲取使用者的基本資訊。它讓使用者能夠登錄到企業內的身分辨識,使用者成功辨識身分之後,再自動轉到相對應的應用程式,完成登入作業。讓使用者在不同的應用程式中遊走,卻不用到處註冊留下密碼。實現單一登入的一種機制。OIDC允許所有類型的用戶端, 包括基於瀏覽器的應用程式、行動裝置應用程式與需透關安裝於作業系統的應用程式。

基於OAuth 2.0??什麼是OAuth2.0 ,它與OpenID Connect 是什麼關係?

簡單來說OAuthAuthorization,他是授權,不是認證。OIDC是在OAuth的協議上,進行身分的認證。

OAuth 2.0, 是一個協議,由IETF RFCs 6749 6750(2012 年出版) 目的在支援身份驗證和授權協議的發展。它提供各種基於JSON HTTP 標準化的消息流。OpenID Connect OAuth的基礎上,進行身份認證服務。

也就是說 OpenID Connect = 身份驗證+ OAuth 2.0

OpenID Connect 哪時候發佈的?

最後OpenID 規範發佈於2014 2 26 日。

這麼新??有誰在用?

AmazonGoogleGakunin(日本網路大學認證)mixi(日本的社群網站)Yahoo、美國在線(AOL)Salesforce。當然這些組織,也是催生OpenID Connect協議的推手。

OpenID Connect 的歷史是什麼?

OpenID Connect OpenID 的第三代技術。

OpenID Connect有哪些角色?

OpenID Connect Provider(簡稱OIDC Provider):用於驗證使用者身份,並提供claim (這不知道怎麼翻譯才恰當)RP 的系統或服務。

Relaying Party(簡稱RP):客戶端程式,請求使用者身份驗證,並從OIDC Provider 獲得claim 的應用或服務。

End-User:使用RP,且通過OIDC Provider 進行管理的使用者。

誰可以成為"IDP "

OpenID Connect 協議的設計是完全開放的、誰都可以成為IDP。大型企業內部也可以自己架設私有的IDP

目前全球擁有最大帳號數的是GoogleMicrosoft等大型網路服務機構。也因為平台不論是行動裝置網頁應用程式、私人企業內部桌面應用程式,都可以透過這些IDP提供的身分認證機制,故推動速度很快。

常見的OpenID Connect有幾種認證方式?

OpenID Connect Authorization Code Flow:在OAuth 2.0 authorization grant的基礎上,衍生出來的認證方式。適用於Server Side認證

OpenID Connect Implicit Flow:在OAuth 2.0implicit grant的基礎上,衍生出來的認證方式,適用於Web-Browser方式

OpenID Connect跟網路營運商有何關係?

簡單的說,樹大招風。當組織越大,裡面的帳號就更有被盜價值,增加網路身份盜竊的風險。若透過集中的方式保護的方式,降低管理帳號密碼等作業。當然若OIDC的Provider沒有管理好,那同等於雞蛋都放在同一個籃子裡的風險。

OpenID ConnectSAML的關係?

OpenID Connect 基於簡單的 JSON / REST 協議可以滿足這些案例。OpenID Connect 支持本地應用和行動裝置應用。而SAML只支援基於web 的應用程式(或繞個彎,用WebView去包)。由於OIDCSAML的認證目的相同,更換到OIDC的話,還需要一段時間。看了多篇的文章,評估資訊業界SAML OpenID Connect 可能會並存相當一段時間。

OpenID Connect 可以保護個人隱私,或者更好地控制個人信息,或分享?

OpenID Connect 可以標識多個不同的屬性,讓使用它們的應用程序來讀取,在讀取前,會先詢問你,就如下圖的核准步驟, 以便使用者可以同意( 或拒絕) 的共享這些信息。

OpenID Connect與一般應用程式可以串嗎?

在啟動OIDC必須設定一個redirect_uri,目的在成功認證後導到這個redirect_uri的網址。成功認證之後會取得一組有時效性的Tokey,並將作業流程導向原先預計的redirect_uri,redirect_uri裡面可以取解析Token,便可以去IDP取得使用者資訊,將這些資訊拋轉到你的應用程式。完成認證的作業。詳細的做法須再參考OAuth文件。    

原文:http://openid.net/connect/faq/

 

以上文章由Ryan整理,若有侵犯版權、勘誤,請來信告知