偷偷摘套内射激情视频,久久精品99国产国产精,中文字幕无线乱码人妻,中文在线中文a,性爽19p

OAuth2.0協(xié)議擴(kuò)展——OIDC認(rèn)證協(xié)議

網(wǎng)絡(luò) 通信技術(shù)
客戶(hù)端無(wú)法認(rèn)定資源擁有者就是正確的擁護(hù)者,雖然市面上的OAuth 2.0能夠保證授權(quán)的安全性,但是OAuth 2.0本身并沒(méi)有對(duì)用戶(hù)認(rèn)證提供明確的規(guī)范。

[[414637]]

前言

在上一文里我們通過(guò)一個(gè)例子回顧了OAuth 2.0的流程,同時(shí)指出了OAuth 2.0的局限性:客戶(hù)端無(wú)法認(rèn)定資源擁有者就是正確的擁護(hù)者,雖然市面上的OAuth 2.0能夠保證授權(quán)的安全性,但是OAuth 2.0本身并沒(méi)有對(duì)用戶(hù)認(rèn)證提供明確的規(guī)范。這就是OIDC產(chǎn)生的契機(jī)。

OIDC

OIDC是OAuth 2.0的一個(gè)變種。

OIDC(OpenID Connect)建立在Auth 2.0的流程之上,提出了終端用戶(hù)認(rèn)證標(biāo)識(shí)ID Token概念。符合OIDC流程的一定符合OAuth2.0。OAuth 2.0 是關(guān)于如何發(fā)布訪問(wèn)令牌(AccessToken)的規(guī)范;而OIDC是關(guān)于如何發(fā)布ID 令牌的規(guī)范。雖然這兩種令牌都是以JWT的形式體現(xiàn)。

在RFC 6749中定義的一個(gè)OAuth2.0授權(quán)端點(diǎn)(authorization endpoint) 用以請(qǐng)求授權(quán),該端點(diǎn)需要一個(gè)response_type的參數(shù)用來(lái)通知授權(quán)服務(wù)器所需的授權(quán)類(lèi)型,通常包括了code和token兩種。OIDC擴(kuò)展了這一屬性,增加了id_token和none。那么response_type的值現(xiàn)在可能有下列組合的情況:

  1. code 
  2. token 
  3. id_token 
  4. code token 
  5. id_token token 
  6. code id_token 
  7. code id_token token 
  8. none 

另外如果該請(qǐng)求是一個(gè)OIDC授權(quán)認(rèn)證請(qǐng)求還必須包含一個(gè)值為openid 的scope參數(shù),這是區(qū)分普通OAuth 2.0和OIDC的關(guān)鍵。

OIDC的關(guān)鍵術(shù)語(yǔ)

OIDC規(guī)定了一些術(shù)語(yǔ)用來(lái)提高我們學(xué)習(xí)的門(mén)檻:

  • EU:End User 終端用戶(hù)
  • RP:Relying Party 即客戶(hù)端(client),授權(quán)和認(rèn)證的最終消費(fèi)方,我搞不懂為啥要玩多余的概念
  • OP:OpenID Provider,對(duì)EU進(jìn)行認(rèn)證的服務(wù)提供者
  • ID Token:JWT格式,EU的認(rèn)證通過(guò)后生成憑證,供RP消費(fèi)
  • UserInfo Endpoint:通過(guò)憑據(jù)查詢(xún)用戶(hù)基本信息的接口,建議上HTTPS。

OIDC的流程

OIDC復(fù)用了OAuth2.0的授權(quán)流程,在授權(quán)的過(guò)程中增加了一些“小動(dòng)作”來(lái)進(jìn)行用戶(hù)認(rèn)證。結(jié)合其術(shù)語(yǔ),大致的流程是這樣的:

RP發(fā)送一個(gè)認(rèn)證請(qǐng)求給OP;

OP先對(duì)EU進(jìn)行身份認(rèn)證,確認(rèn)無(wú)誤后提供授權(quán);

OP把ID Token和Access Token(需要的話(huà))返回給RP;

RP使用Access Token發(fā)送一個(gè)請(qǐng)求UserInfo EndPoint;(可選)

UserInfo EndPoint返回EU的Claims。(基于第4個(gè)步驟可選)

OIDC協(xié)議流程圖

另外,OIDC歸納了三種復(fù)用OAuth 2.0的流程:

  • Authorization Code Flow:使用OAuth2的Authorization Code模式來(lái)?yè)Q取Id Token和Access Token。
  • Implicit Flow:使用OAuth2的Implicit模式獲取Id Token和Access Token。
  • Hybrid Flow:以上兩種的混合實(shí)現(xiàn)。

總結(jié)

協(xié)議這個(gè)東西學(xué)起來(lái)確實(shí)比較枯燥難懂,需要結(jié)合一些場(chǎng)景才能說(shuō)清楚,說(shuō)實(shí)話(huà)有些東西我也云里霧里,不過(guò)這個(gè)是無(wú)法跳過(guò)去的東西。先不要想太多為什么,后續(xù)會(huì)結(jié)合一些場(chǎng)景來(lái)搞明白上面的術(shù)語(yǔ)和流程。

本文轉(zhuǎn)載自微信公眾號(hào)「碼農(nóng)小胖哥」,可以通過(guò)以下二維碼關(guān)注。轉(zhuǎn)載本文請(qǐng)聯(lián)系碼農(nóng)小胖哥公眾號(hào)。

 

責(zé)任編輯:武曉燕 來(lái)源: 碼農(nóng)小胖哥
相關(guān)推薦

2021-07-12 07:08:53

OAuth 2.0授權(quán)協(xié)議

2025-04-11 05:55:00

2021-09-17 09:00:00

安全身份認(rèn)證OAuth 2.0

2023-12-25 08:04:42

2024-05-11 08:14:53

2021-05-19 07:50:09

SpringOAuth2.0授權(quán)

2015-03-21 06:41:50

oauth2.0監(jiān)控寶

2022-03-16 00:07:55

OAuth2授權(quán)框架

2021-11-19 06:50:17

OAuth協(xié)議授權(quán)

2020-04-15 09:00:00

OAth 2.0OpenIDWeb應(yīng)用

2024-03-20 10:53:15

2022-08-15 08:34:08

OauthCAS登錄

2022-09-30 08:16:38

令牌客戶(hù)端隱藏式

2022-09-09 10:15:06

OAuthJava

2014-09-26 09:24:32

HTTP

2021-05-12 00:12:37

Ocelot網(wǎng)關(guān)密碼

2021-09-14 10:48:33

Ocelot網(wǎng)關(guān)

2010-09-09 14:23:24

IMSSIP協(xié)議

2024-11-04 10:28:08

2014-06-11 13:25:14

IPARPRARP
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)