电竞比分网-中国电竞赛事及体育赛事平台

分享

OpenID Connect Core 1.0(一)介紹

 印度阿三17 2018-10-03

IdentityServer4是基于OpenID Connect and OAuth 2.0框架,OpenID Connect Core 1.0是IdentityServer4最重要的文檔

By 道法自然? 2018年

摘要

OpenID Connect Core 1.0是一個在OAuth 2.0 [RFC6749]協(xié)議之上簡單的身份層。它使客戶驗證基于由授權(quán)服務(wù)器驗證終端用戶的身份,以及獲得互操作的基本概要信息和終端用戶REST-like方式。

這個規(guī)范定義了 OpenID Connect核心功能:驗證基于OAuth 2.0和使用聲明式的終端用戶的信息交流程。它還描述了使用OpenID Connect的安全和隱私問題。

1 介紹(Introduction

作為背景,OAuth 2.0授權(quán)框架 (OAuth 2.0 Authorization Framework [RFC6749]) 和 OAuth 2.0無記名令牌用法 (OAuth 2.0 Bearer Token Usage [RFC6750]) 規(guī)范為第三方應(yīng)用程序獲得和使用有限的HTTP訪問資源提供了一個總體框架。他們定義了獲取和使用令牌訪問資源的訪問機(jī)制,沒有定義標(biāo)準(zhǔn)方法提供身份信息。值得注意的是,如果對OAuth 2.0不加以了解,就不能實現(xiàn)提供終端用戶的驗證信息功能。讀者應(yīng)該熟悉這些規(guī)范。

OpenID Connect擴(kuò)展實現(xiàn)了OAuth 2.0驗證授權(quán)過程。使用這個擴(kuò)展客戶端授權(quán)請求,要求包括請求的openid scope值。在一個 JSON Web?Token (JWT)中返回執(zhí)行驗證的一個稱之為ID Token信息(見第二節(jié) )。OAuth 2.0實現(xiàn)OpenID驗證服務(wù)器連接,也被稱為OpenID提供者(OPs)。OAuth 2.0客戶端使用OpenID Connect 也被稱為依賴方(RPs)。

這個規(guī)范假定依賴方已經(jīng)獲得 OpenID提供者的配置信息,包括它的授權(quán)終結(jié)點和令牌終結(jié)點位置。這些信息通常是通過發(fā)現(xiàn)獲得(OpenID Connect Discovery 1.0 ?OpenID?Discovery)中描述,或通過其他機(jī)制可以獲得。

同樣,這個規(guī)范假定依賴方已經(jīng)獲得需要使用OpenID提供者提供的足夠多的憑證和信息。這通常是通過OpenID Connect Dynamic Client Registration 1.0中描述動態(tài)注冊,或通過其他機(jī)制可以獲得。

1.1 符號和約定要求(Requirements Notation and Conventions)

關(guān)鍵詞“必須”、“不能”、“需要”、“應(yīng)當(dāng)”,“不得”,“應(yīng)該”、“不應(yīng)該”,“推薦”,“不推薦”、“可能”和“可選的” 文檔中描述將被解釋為 RFC 2119 [RFC2119]。

在.txt版本的文檔中,應(yīng)該從字面上理解這些詞的意思。當(dāng)在協(xié)議消息中使用這些詞,引述不能作為值的一部分。在本文檔的HTML版本,值按字面所示 的固定寬度字體使用。

本規(guī)范中JSON Web Signature (JWS)和JSON Web Encryption (JWE)的數(shù)據(jù)結(jié)構(gòu)使用JWS壓縮序列化或JWE壓縮序列化; 不使用JWS JSON序列化和 JWE JSON序列化。

1.2 術(shù)語(Terminology)

該規(guī)范使用術(shù)語“訪問令牌(Access Token)”,“授權(quán)碼(Authorization Code)”,“授權(quán)終結(jié)點(Authorization Endpoint)”、“授權(quán)許可(Authorization Grant)”、“授權(quán)服務(wù)器(Authorization Server)”,“客戶端(Client)”、“客戶端驗證(Client Authentication)”、“客戶標(biāo)識符(Client Identifier)”,“客戶端密鑰(Client Secret)”,“許可類型(Grant Type)”、“受保護(hù)資源(Protected Resource)”,“重定向URI(Redirection URI)”、“刷新令牌(Refresh Token)”,“資源所有者(Resource Owner)”、“資源服務(wù)器(Resource Server)”、“響應(yīng)類型(Response Type)”,“令牌終結(jié)點(Token Endpoint)” 定義為 OAuth 2.0 (RFC6749),術(shù)語“聲明名稱(Claim Name)”、“聲明值(Claim Value)”,“JSON Web Token(JWT)”,“JWT聲明集”,“嵌套JWT” 定義為 JSON Web Token(JWT) JWT,術(shù)語“Header Parameter”和“JOSE Header” 定義為 JSON Web Signature (JWS),“用戶代理”一詞的定義 RFC 2616 [RFC2616],和定義的術(shù)語“響應(yīng)模式(Response Mode)” OAuth 2.0多個響應(yīng)類型編碼實踐 [OAuth.Responses]。

此規(guī)范還定義了以下術(shù)語:

Authentication(驗證)

提供在實體和提供身份兩者間建立足夠的信任操作。

Authentication Request(驗證請求)

OAuth 2.0授權(quán)請求通過擴(kuò)展參數(shù)和范圍定義,為OpenID Connect從授權(quán)服務(wù)器到終端用戶認(rèn)證請求,是OpenID?Connect提供者,對于客戶端,是OpenID Connect依賴。

Authentication Context(驗證上下文)

在依賴方需要的信息之前,對驗證響應(yīng)權(quán)利做出決定。這種上下文可以包括但不限于,實際的驗證方法或保障級別等 ISO/IEC 29115 (ISO29115) 實體驗證保障級別。

Authentication Context Class(驗證上下文類)

驗證方法或程序集,相當(dāng)于在一個特定的上下文。

Authentication Context Class Reference(驗證上下文類引用)

驗證上下文類標(biāo)識符。

Authorization Code Flow(授權(quán)碼流程)

OAuth 2.0流程包含從授權(quán)終結(jié)點返回的授權(quán)碼和從令牌終結(jié)點返回的所有令牌。

Authorization Request(授權(quán)請求)

OAuth 2.0定義的授權(quán)請求 (RFC6749) 。

Claim(聲明)

信息斷言一個實體。

Claim Type(聲明類型)

用于代表聲明值的語法。這個規(guī)范定義了正常、合并和分離的聲明類型。

Claims Provider(聲明提供者)

可返回的關(guān)于實體的服務(wù)器聲明。

Credential(憑證)

作為可使用身份或其他資源權(quán)利證據(jù)的數(shù)據(jù)呈現(xiàn)。

End-User(終端用戶)

參與的人。

Entity(實體)

確定在一個上下文中單獨、獨特的存在的東西。終端用戶就是一個實體例子。

Essential Claim(基本聲明)

指定客戶端必要的聲明,以確保終端用戶流程暢授權(quán)的特定任務(wù)體驗。

Hybrid Flow(混合流程)

OAuth 2.0流程包含有從授權(quán)終結(jié)點返回授權(quán)碼,授權(quán)終結(jié)點返回的授權(quán)令牌,和從其他令牌終結(jié)點返回的令牌。

ID Token(令牌標(biāo)識)

JSON Web Token(JWT)包含關(guān)于驗證事件。它可能包含其他聲明。

Identifier(標(biāo)識符)

描述一個實體在一個特定上下文的唯一值。

Identity(身份)

一組相關(guān)實體屬性。

Implicit Flow(隱式流程)

OAuth 2.0 流程從授權(quán)終結(jié)點返回的所有令牌,但不調(diào)用令牌終結(jié)點和授權(quán)碼。

Issuer(發(fā)行人)

實體中關(guān)于發(fā)行人的聲明。

Issuer Identifier(發(fā)布者標(biāo)識符)

可驗證發(fā)行人的標(biāo)識符。發(fā)布者標(biāo)識符是一個區(qū)分大小寫的https 格式的URL,包含scheme、主機(jī)和可選端口號和路徑組件,但沒有任何查詢或片段組件。

Message(消息)

OpenID依賴和OpenID提供者之間的請求或響應(yīng),。

OpenID Provider (OP,OpenID提供者)

OAuth 2.0驗證服務(wù)器為終端用戶和提供聲明給認(rèn)證事件與終端用戶的依賴方賦予驗證的能力。

Request Object(請求對象)

JWT包含一組請求參數(shù)聲明。

Request URI(請求URI)

包含請求對象的資源引用的URL。請求URI包含必需由授權(quán)服務(wù)器檢索的內(nèi)容。

Pairwise Pseudonymous Identifier(成對匿名標(biāo)識符(PPID))

不能關(guān)聯(lián)的依賴方實體身份和實體的另一個PPID依賴方的標(biāo)識。

Personally Identifiable Information(個人身份信息(PII))

可以用來識別自然人的信息(a),這些信息涉及誰,或 (b)是可能直接或間接有關(guān)涉及這些信息自然人。

Relying Party (RP)(依賴方)

需要用戶驗證和OpenID提供者的聲明之OAuth 2.0客戶機(jī)應(yīng)用程序。

Sector Identifier(企業(yè)標(biāo)識符)

主機(jī)組件依賴方所使用的URL的組織,這是一個輸入的計算成對Subject標(biāo)識符的依賴方。

Self-Issued OpenID Provider(自發(fā)行OpenID提供者)

解決自簽名ID令牌的個人的,自托管OpenID提供者。

Subject Identifier(子標(biāo)識符)

當(dāng)?shù)鬲毺氐?在客戶端使用的,從不在終端用戶的發(fā)行人重新分配標(biāo)識符。

UserInfo Endpoint(用戶信息終結(jié)點)

受保護(hù)的資源。當(dāng)面對客戶提供訪問令牌時,返回關(guān)于終端用戶授權(quán)、許可等信息。用戶信息終結(jié)點URL必須使用 https 方案和可能包含的端口號、路徑和查詢參數(shù)組件。

Validation(驗證)

目的是為了檢查完整性或構(gòu)造的正確性操作。

Verification(驗證)

目的是為了測試或證明真理、事實、值的準(zhǔn)確性操作。

Voluntary Claim(自愿聲明)

要求指定的客戶端是可用的但不是終端用戶要求的特定任務(wù)必不可少的。

重要提示:本節(jié)術(shù)語定義是本規(guī)范的實現(xiàn)實施需求的規(guī)范部分。在本規(guī)范的文本中所有的大寫的單詞,如 “Issuer Identifier”。只要讀者遇到引用這些定義術(shù)語時,必須遵循在本節(jié)中所見的對這些術(shù)語定義。

更多的背景使用的一些術(shù)語,參看網(wǎng)絡(luò)安全術(shù)語表第2版 (RFC4949),ISO/IEC 29115實體驗證保證 (ISO29115)和 ITU-T X.1252 [X.1252]。

?

1.3 概述(Overview)

OpenID Connect協(xié)議,抽象層面,遵循以下步驟。

1、RP(客戶端)發(fā)送一個請求到OpenID提供者(OP)。

2、OP驗證終端用戶和獲得授權(quán)。

3、OP 應(yīng)答ID令牌和通用的訪問令牌。

4、 RP可以使用訪問令牌給用戶令牌終結(jié)點發(fā)送請求。

5、用戶信息終結(jié)點返回終端用戶聲明。

?

原文:https:///specs/openid-connect-core-1_0.html

來源:http://www./content-4-36001.html

    本站是提供個人知識管理的網(wǎng)絡(luò)存儲空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點。請注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購買等信息,謹(jǐn)防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請點擊一鍵舉報。
    轉(zhuǎn)藏 分享 獻(xiàn)花(0

    0條評論

    發(fā)表

    請遵守用戶 評論公約

    類似文章 更多