久久国产成人av_抖音国产毛片_a片网站免费观看_A片无码播放手机在线观看,色五月在线观看,亚洲精品m在线观看,女人自慰的免费网址,悠悠在线观看精品视频,一级日本片免费的,亚洲精品久,国产精品成人久久久久久久

分享

OAuth2.0 基礎(chǔ)知識

 小樣樣樣樣樣樣 2021-03-16

Tips:本篇已加入,,.Net core 3.1 使用IdentityServer4 實現(xiàn) OAuth2.0 --閱讀目錄  ,。

前言

如果大家英語比較好 可以看下 OAuth2.0官網(wǎng)(https:///2/),,當(dāng)然英語不好也沒關(guān)系 我們看一下,,下面一段描述:

OAuth(開放授權(quán))是一個開放標(biāo)準(zhǔn),,允許用戶授權(quán)第三方網(wǎng)站訪問他們存儲在另外的服務(wù)提供者上的信息,而不需要將用戶名和密碼提供給第三方網(wǎng)站或分享他們數(shù)據(jù)的所有內(nèi)容.


開始

做過微信授權(quán)的同學(xué)們應(yīng)該都知道,,自己開發(fā)的應(yīng)用獲取用戶openid的過程就是一個OAuth認(rèn)證授權(quán)的流程,,

我們看一下微信官方的登錄流程圖:

 

 這個就是一個 符合OAuth 授權(quán)碼模式(authorization code)的流程,當(dāng)我們需要獲取 微信的openid(資源)時,,不是在開發(fā)者應(yīng)用上讓用戶輸入微信號和密碼(其實也沒辦法輸入),,

需要用戶主動接受授權(quán)獲取到code,開發(fā)者拿著code和事先在微信平臺注冊的appid和appsecret,,去訪問微信服務(wù)器換取 openid(資源),。

(題外話)其實實際操作上可能還要復(fù)雜一點:用戶授權(quán)后其實拿到的時code和iv,,并且這個iv用了一次就失效了,

然后服務(wù)器后臺根據(jù)code+appid+appsecret向微信后臺發(fā)送請求獲取openid+session_key

最后服務(wù)器后臺根據(jù)session_key+IV解密encryptedData(AES解密三個參數(shù):密文encryptedData,,密鑰session_key,,偏移向量iv)

可能大家有點暈乎了怎么一上來直接講 授權(quán)碼模式 了,之后的章節(jié)中會具體講解各種模式,,這里主要是讓大家先有點感覺,。


名詞定義

(1)Third-party application:第三方應(yīng)用程序, 即上圖中的開發(fā)者做的微信小程序,。

(2)HTTP service:HTTP服務(wù)提供商,,本文中簡稱"服務(wù)提供商",即上圖中的微信,。

(3)Resource Owner:資源所有者,,本文中又稱"用戶"(user)。

(4)User Agent:用戶代理,,可以時瀏覽器,,app或者是上圖描述中的 微信小程序。

(5)Authorization server:認(rèn)證服務(wù)器,,即服務(wù)提供商專門用來處理認(rèn)證的服務(wù)器,。

(6)Resource server:資源服務(wù)器,即服務(wù)提供商存放用戶生成的資源的服務(wù)器,。它與認(rèn)證服務(wù)器,,可以是同一臺服務(wù)器,也可以是不同的服務(wù)器,。


認(rèn)證類型

官網(wǎng)上描述的類型有以下幾種: 

  • Authorization Code

  • PKCE

  • Client Credentials

  • Device Code

  • Refresh Token

  • Legacy: Implicit Flow

  • Legacy: Password Grant

本系列主要是講解Web端的OAuth會講述里面的 5中類型(不包括 PKCE和 Device Code)

但是我還是會大概說一下這兩種模式

PKCE模式 :適用于功能邏輯主要在客戶端完成的native app,。因為native app沒有瀏覽器那樣的cookie支持,CP服務(wù)器沒有session這樣的東西來保存state參數(shù)從而防止CSRF,,所以使用PKCE的code_verifier和code_challenge來防止CSRF,。

Device Code 設(shè)備代碼: 設(shè)備流中的無瀏覽器或受輸入限制的設(shè)備使用設(shè)備代碼授權(quán)類型,以將先前獲得的設(shè)備代碼交換為訪問令牌,。設(shè)備代碼授權(quán)類型值為urn:ietf:params:oauth:grant-type:device_code.

之后的章節(jié)主要重點講解 

  • 客戶端模式(client credentials)

  • 密碼模式(resource owner password credentials)

  • 簡化模式(implicit)

  • 授權(quán)碼模式(authorization code)

而Refresh Token 存在于各個模式之中,,隨著 .netcore 的流行,IdentityServer4也隨之風(fēng)靡,,下面一節(jié)中會介紹一下 IdentityServer4 里的一些名詞,,便于同學(xué)們理解之后章節(jié) 用ID4 實現(xiàn)各種模式。

    本站是提供個人知識管理的網(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ā)表

    請遵守用戶 評論公約

    類似文章 更多