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

分享

IdentityServer4系列 | 初識(shí)基礎(chǔ)知識(shí)點(diǎn)

 新進(jìn)小設(shè)計(jì) 2021-03-15

一、前言

我們現(xiàn)在日常生活中,會(huì)使用各式各樣的應(yīng)用程序,層出不窮,其中有基于網(wǎng)頁(yè)瀏覽方式的應(yīng)用,有基于手機(jī)端的App,甚至有基于流行的公眾號(hào)和小程序等等,這些應(yīng)用,我們不僅要實(shí)現(xiàn)各個(gè)應(yīng)用的功能之外,還要考慮各個(gè)應(yīng)用之間的交互作用,其中身份的認(rèn)證和授權(quán)就是每個(gè)應(yīng)用必不可少的的一部分。

所以我們以身份認(rèn)證和授權(quán)這一部分為例,需要考慮各個(gè)應(yīng)用直接的交互,統(tǒng)一管理以及信息安全問(wèn)題。

而現(xiàn)在的互聯(lián)網(wǎng),對(duì)于信息安全要求又十分苛刻,所以一套統(tǒng)一的身份認(rèn)證和授權(quán)就至關(guān)重要。

所以,我們可以根據(jù)Identity Server4框架開(kāi)發(fā)一套統(tǒng)一的身份認(rèn)證和授權(quán)項(xiàng)目應(yīng)用在平時(shí)的多個(gè)項(xiàng)目中,實(shí)現(xiàn)多平臺(tái)應(yīng)用授權(quán)統(tǒng)一管理。

二、說(shuō)明

我們通過(guò)查看 IdentityServer4官網(wǎng),就可以看到給出的定義:

IdentityServer4 is an OpenID Connect and OAuth 2.0 framework for ASP.NET Core.

OpenID Connect + OAuth2.0 相結(jié)合的認(rèn)證框架

由此可見(jiàn),IdentityServer是基于OpenID Connect協(xié)議標(biāo)準(zhǔn)的身份認(rèn)證和授權(quán)程序,實(shí)現(xiàn)了OpenID Connect和OAuth2.0協(xié)議的結(jié)合。

所以,IdentityServer4是為ASP.NET CORE量身定制的實(shí)現(xiàn)了OpenId Connect和OAuth2.0協(xié)議的認(rèn)證授權(quán)中間件。通常,你構(gòu)建(或重新使用)包含登錄和注銷頁(yè)面的應(yīng)用程序,IdentityServer中間件會(huì)向其添加必要的協(xié)議頭,以便客戶端應(yīng)用程序可以使用這些標(biāo)準(zhǔn)協(xié)議與其對(duì)話。

2.1 特性

通過(guò)不同的文獻(xiàn)使用的術(shù)語(yǔ)我們會(huì)發(fā)現(xiàn),同一個(gè)概念可能存在著多種解釋,比如有些把他稱為安全令牌服務(wù)(Security Token Service),
身份提供(Identity Provider),授權(quán)服務(wù)器(Authorization Server),IP-STS 等等。其實(shí)他們都是一個(gè)意思,目的都是在軟件應(yīng)用中為客戶端頒發(fā)令牌并用于安全訪問(wèn)的。

2.2 功能

三、引申

3.1 OAuth2.0

OAuth2.0 是OAuth協(xié)議的延續(xù),OAuth2.0 關(guān)注客戶端開(kāi)發(fā)者的簡(jiǎn)易性,為用戶資源提供一個(gè)安全的、開(kāi)放而有建議的標(biāo)準(zhǔn)。是目前流行的授權(quán)機(jī)制,用于授權(quán)第三方應(yīng)用就可以獲取該用戶資源。因此OAuth是安全的。

為了安全,Oauth2.0 引入了兩個(gè)措施:

  1,Oauth2.0 要求,refresh token 一定是保存在客戶端的服務(wù)器上的,而絕不能存放在狹義的客戶端(例如移動(dòng) app、PC端軟件) 上。調(diào)用 refresh 接口的時(shí)候,一定是從服務(wù)器到服務(wù)器的訪問(wèn);

  2,Oauth2.0 引入了 client_secret 機(jī)制。即每一個(gè) client_id 都對(duì)應(yīng)一個(gè) client_secret。這個(gè) client_secret 會(huì)在客戶端申請(qǐng) client_id 時(shí),隨 client_id 一起分配給客戶端??蛻舳吮仨毎?client_secret 妥善保管在服務(wù)器上,決不能泄露。刷新 access token 時(shí),需要驗(yàn)證這個(gè) client_secret。

3.1.1 場(chǎng)景

OAuth2.0 是目前最流行的授權(quán)機(jī)制,用來(lái)授權(quán)第三方應(yīng)用,獲取用戶數(shù)據(jù)。

(以下以 第三方A網(wǎng)站用戶訪問(wèn)授權(quán)獲取在B網(wǎng)站資源 為例 。參考:理解OAuth 2.0

為了讓A網(wǎng)站應(yīng)用訪問(wèn)在B網(wǎng)站上的存儲(chǔ)的照片、視頻或者聯(lián)系方式等等私密資源,我們可能需要做到的就是讓B網(wǎng)站同意A網(wǎng)站訪問(wèn)讀取這些資源,那么,在傳統(tǒng)的方式中,會(huì)將自己在B網(wǎng)站中的用戶名和密碼告訴A,后者就可以讀取用戶的資源信息了,但是這樣做存在了嚴(yán)重的問(wèn)題:

  • A網(wǎng)站為了后續(xù)服務(wù),會(huì)保存用戶的密碼,這樣不安全。

  • B網(wǎng)站必須部署密碼登錄方式,才能以此方式獲取,但這種單純的密碼登錄也不安全。

  • A網(wǎng)站用戶獲取某個(gè)網(wǎng)站資源的權(quán)力,但卻沒(méi)有限制獲取的范圍和期限。

  • 當(dāng)用戶修改密碼的時(shí)候,就會(huì)收回A網(wǎng)站的權(quán)力,但是這樣做,會(huì)使得其他所有獲得用戶授權(quán)的A應(yīng)用程序全部失效。

  • 只要有一個(gè)A應(yīng)用程序被破解,就會(huì)導(dǎo)致用戶密碼泄漏,以及所有被密碼保護(hù)的數(shù)據(jù)泄漏。

因此,這種方式是不安全的,所以為了解決這種問(wèn)題,OAuth就解決了這種問(wèn)題。

允許用戶讓第三方A應(yīng)用訪問(wèn)該用戶在B網(wǎng)站上存儲(chǔ)的私密的資源(如照片,視頻,聯(lián)系人列表),而無(wú)需將用戶名和密碼提供給第三方應(yīng)用。就比如我用QQ登錄博客園,那博客園(第三方應(yīng)用)的昵稱就可以是我的QQ(某網(wǎng)站)昵稱,它獲取到了我的QQ昵稱,并存到了博客園的數(shù)據(jù)庫(kù),我以后就一直可以使用QQ來(lái)登錄博客園,但是博客園卻不知道我QQ的用戶名和密碼。

3.1.2 說(shuō)明

OAuth在"客戶端"與"服務(wù)提供商"之間,設(shè)置了一個(gè)授權(quán)層(authorization layer)。"客戶端"不能直接登錄"服務(wù)提供商",只能登錄授權(quán)層,以此將用戶與客戶端區(qū)分開(kāi)來(lái)。"客戶端"登錄授權(quán)層所用的令牌(token),與用戶的密碼不同。用戶可以在登錄的時(shí)候,指定授權(quán)層令牌的權(quán)限范圍和有效期。

"客戶端"登錄授權(quán)層以后,"服務(wù)提供商"根據(jù)令牌的權(quán)限范圍和有效期,向"客戶端"開(kāi)放用戶儲(chǔ)存的資料。

(A)用戶打開(kāi)客戶端以后,客戶端要求用戶給予授權(quán)。
(B)用戶同意給予客戶端授權(quán)。
(C)客戶端使用上一步獲得的授權(quán),向認(rèn)證服務(wù)器申請(qǐng)令牌。
(D)認(rèn)證服務(wù)器對(duì)客戶端進(jìn)行認(rèn)證以后,確認(rèn)無(wú)誤,同意發(fā)放令牌。
(E)客戶端使用令牌,向資源服務(wù)器申請(qǐng)獲取資源。
(F)資源服務(wù)器確認(rèn)令牌無(wú)誤,同意向客戶端開(kāi)放資源。

3.1.3 模式

用戶怎樣實(shí)現(xiàn)客戶端授權(quán),所以需要通過(guò)不同的授權(quán)模式讓客戶端可以獲取令牌,進(jìn)而獲取資源。因此,客戶端獲取授權(quán)常用的模式如下:

后續(xù)篇章會(huì)對(duì)這些模式進(jìn)行說(shuō)明和搭建應(yīng)用項(xiàng)目。

3.2 OpenID Connect

OpenID Connect是基于OAuth 2.0規(guī)范族的可互操作的身份驗(yàn)證協(xié)議。它使用簡(jiǎn)單的REST / JSON消息流來(lái)實(shí)現(xiàn),和之前任何一種身份認(rèn)證協(xié)議相比,開(kāi)發(fā)者可以輕松集成。

OpenID Connect允許開(kāi)發(fā)者驗(yàn)證跨網(wǎng)站和應(yīng)用的用戶,而無(wú)需擁有和管理密碼文件。

OpenID Connect允許所有類型的客戶,包括基于瀏覽器的JavaScript和本機(jī)移動(dòng)應(yīng)用程序,啟動(dòng)登錄流動(dòng)和接收可驗(yàn)證斷言對(duì)登錄用戶的身份。

進(jìn)一步來(lái)說(shuō):

  • OpenID Connect是OAuth 2.0協(xié)議之上的簡(jiǎn)單身份層,用 API 進(jìn)行身份交互的框架,允許客戶端根據(jù)授權(quán)服務(wù)器的認(rèn)證結(jié)果最終確認(rèn)用戶的身份,以及獲取基本的用戶信息;

  • 它支持包括Web、移動(dòng)、JavaScript在內(nèi)的所有客戶端類型;

  • 它是可擴(kuò)展的協(xié)議,允許你使用某些可選功能,如身份數(shù)據(jù)加密、OpenID提供商發(fā)現(xiàn)、會(huì)話管理;

OpenID Connect vs OpenID 2.0:OpenID Connect完成很多與OpenID 2.0(即認(rèn)證,對(duì)用戶的身份進(jìn)行認(rèn)證,判斷其身份是否有效)相同的任務(wù),是API-friendly,定義了可選的簽名和加密的機(jī)制;

OAuth 1.0和OpenID 2.0的集成需要擴(kuò)展,而OpenID Connect協(xié)議本身就建立在OAuth 2.0之上。

(身份驗(yàn)證)+ OAuth 2.0 = OpenID Connect

因此,OpenID Connect 是“認(rèn)證”和“授權(quán)”的結(jié)合。

我們經(jīng)常會(huì)混淆OpenID和OAuth協(xié)議之間的關(guān)系,下文會(huì)對(duì)這兩者進(jìn)行區(qū)分說(shuō)明。

為什么開(kāi)發(fā)者要使用OpenID Connect?

因?yàn)樗芎?jiǎn)單,可靠,安全,并讓他們擺脫困難和危險(xiǎn)的存儲(chǔ)和管理別人的密碼。也有好處,它讓用戶的生活更容易在網(wǎng)站注冊(cè)和注冊(cè)從而減少遺棄。

四、區(qū)別

4.1 OAuth 與 OpenID

首先,來(lái)認(rèn)識(shí)兩個(gè)英文單詞,也是我們?cè)谄綍r(shí)中很容易混淆的。

  • authorization : n. 授權(quán),認(rèn)可;批準(zhǔn),委任。

  • authentication : n. 證明;鑒定;證實(shí)。

而在認(rèn)證授權(quán)服務(wù)中,也應(yīng)用了這兩個(gè)單詞的表面意思。

OpenID 是一個(gè)以用戶為中心的數(shù)字身份識(shí)別框架,它具有開(kāi)放、分散性。OpenID 的創(chuàng)建基于這樣一個(gè)概念:我們可以通過(guò) URI (又叫 URL 或網(wǎng)站地址)來(lái)認(rèn)證一個(gè)網(wǎng)站的唯一身份,同理,我們也可以通過(guò)這種方式來(lái)作為用戶的身份認(rèn)證。

OpenID :Authentication,即認(rèn)證,對(duì)用戶的身份進(jìn)行認(rèn)證,判斷其身份是否有效,也就是讓網(wǎng)站知道“你是你所聲稱的那個(gè)用戶”。

側(cè)重的是authentication: 即證明 “用戶是誰(shuí)?”

OAuth :Authorization,即授權(quán),在已知用戶身份合法的情況下,經(jīng)用戶授權(quán)來(lái)允許某些操作,也就是讓網(wǎng)站知道“你能被允許做那些事情”。

側(cè)重的是authorization :即授權(quán) “用戶能做什么?”

由此可知,授權(quán)要在認(rèn)證之后進(jìn)行,只有確定用戶身份只有才能授權(quán)。

4.1.1 場(chǎng)景

OpenID 是證實(shí)身份(Authentication)作用的,就好比我們參加大型考試一下,進(jìn)考場(chǎng)的時(shí)候,監(jiān)考官需要我們拿出身份證和準(zhǔn)考證來(lái)檢驗(yàn),比對(duì)是否是同一個(gè)人。這個(gè)過(guò)程就是在驗(yàn)證 “身份,這就是我”,同時(shí)也證實(shí)了這不是一個(gè)匿名偽造的不可信任信息。考官比對(duì)身份成功后,就會(huì)進(jìn)一步詢問(wèn)。

比如我用 Google 的 OpenID 服務(wù)登錄 xxx.com , xxx.com 先把我導(dǎo)向 Google 的授權(quán)頁(yè)面,我使用 Google 賬號(hào) test@gmail.com 登錄并同意后,頁(yè)面跳回 xxx.com , xxx.com 拿到了我的“唯一標(biāo)識(shí)”,這個(gè)唯一標(biāo)識(shí)可能是 abbcccxxxxxxxddccddxxxx11 ,xxx.com 從這個(gè)字符串里無(wú)法獲得任何 xxx@gmail.com 的個(gè)人信息(甚至連郵箱地址也不知道), xxx.com 只知道以后只要使用谷歌登錄并返回 abbcccxxxxxxxddccddxxxx11 這個(gè)標(biāo)識(shí)符,那就是我在登錄。

但是如果你想在認(rèn)證過(guò)程中獲得用戶的其他信息(比如手機(jī)號(hào)等 )就得多做一步了。

OAuth 是關(guān)于授權(quán)、許可(Authorization)的,當(dāng)考官看完比對(duì)你的身份后,還要求掏出兜里的東西,拿出隨身攜帶里的東西、手機(jī)等隨身物品以便檢查,檢查你是否攜帶考場(chǎng)違規(guī)物品,這時(shí)就需要得到被檢查人的許可才行,被檢查人有權(quán)利扭頭就走,但要想進(jìn)場(chǎng)考試,必須給予許可、配合檢查。這是在回答「我同意讓你對(duì)我進(jìn)一步做些什么」,是為了在被授予權(quán)限的前提下,更多的獲取除了個(gè)人信息以外,身上攜帶的東西是否包含違規(guī)物品。(如:手機(jī),計(jì)算器,手表,非指定文具等)

我想通過(guò)微博登錄 xxx.com ,xxx.com 要先把我 redirect 到新浪微博的授權(quán)頁(yè)面,我通過(guò)微博賬號(hào)登錄并授權(quán)后,頁(yè)面跳回 xxx.com ,xxx.com 拿到我的訪問(wèn) token 后還要再調(diào)用一個(gè)接口來(lái)獲得我的會(huì)員 UID ,這個(gè) UID 就是新浪用戶的“唯一標(biāo)識(shí)”了。

  # 借鑒網(wǎng)友的說(shuō)明: 
   如今越來(lái)越多的網(wǎng)站,以及一些應(yīng)用程序都開(kāi)始使用第三方社交平臺(tái)賬戶登錄,那這里就會(huì)涉及到安全性的問(wèn)題,隱私的問(wèn)題,你不能隨意來(lái)獲取我的資料,當(dāng)然你來(lái)使用我的資料,你要經(jīng)過(guò)用戶的同意,那這個(gè)用戶是不是我平臺(tái)上,還是要來(lái)向我求證,那在這個(gè)過(guò)程中,實(shí)際上就出現(xiàn)了兩個(gè)過(guò)程,我們還是直接使用上次的例子來(lái)說(shuō)明,比較直觀,博客園使用QQ登錄,進(jìn)入博客園的登錄頁(yè),點(diǎn)擊使用QQ登錄:

    在進(jìn)入到QQ登錄界面后,最開(kāi)始是要請(qǐng)求認(rèn)證,用戶輸入QQ號(hào)和密碼,點(diǎn)擊登錄,騰訊互聯(lián)會(huì)先進(jìn)行驗(yàn)證該用戶是否為我的用戶,如果是我的用戶,那么我會(huì)通知你(博客園),他是我的用戶,你可以使用該賬戶登錄你的系統(tǒng),這個(gè)過(guò)程就是認(rèn)證(Authentication),認(rèn)證就是證明你是誰(shuí),你是否是真實(shí)存在的,就好像,快遞員來(lái)給你送快遞,讓你出示你的身份證,他確定你是本人后,把快遞給你,這就是OpenID。

   而在QQ授權(quán)登錄下方,有兩給CheckBox復(fù)選框,可以允許博客園獲得您的昵稱、頭像、性別,這是在認(rèn)證之后的事了,在騰訊互聯(lián)你是我平臺(tái)的用戶后,你可以自己選擇博客園是否有權(quán)去獲取你的相關(guān)信息,當(dāng)你勾選后,騰訊互聯(lián)就把你的這些基本信息給了博客園,這個(gè)過(guò)程就是授權(quán)(Authorization),授權(quán)就是確定了你是誰(shuí)后,又把屬于你的東西給了別人,猶如你向快遞員出示了身份證,然后你又把你房門(mén)的密碼給了他,并告訴他說(shuō),我把房門(mén)密碼給你,你幫我放到我客廳里吧。

可以看出,OAuth 相對(duì)于 OpenID 最大的區(qū)別就是,網(wǎng)站在認(rèn)證授權(quán)的過(guò)程中實(shí)際上是拿到了你的帳戶訪問(wèn)權(quán)限繼而確認(rèn)你的身份,但是這同時(shí)也存在一個(gè)安全隱患,因?yàn)榫W(wǎng)站在拿到你的“唯一標(biāo)識(shí)”的同時(shí)還拿到了一把你的賬戶的 “臨時(shí)鑰匙”。但是你不知道網(wǎng)站會(huì)不會(huì)拿這把鑰匙“干壞事”,這個(gè)只有站長(zhǎng)心里清楚。同時(shí) OAuth 還比 OpenID 多了幾個(gè)額外的請(qǐng)求步驟,登錄所費(fèi)時(shí)間一定是長(zhǎng)于 OpenID 的。

4.2 OAuth、OpenID 與 OpenID Connect

OpenID Connect 因?yàn)槠浠?em>OAuth協(xié)議(可以看上文OAuth說(shuō)明),所以OpenID-Connect協(xié)議中也包含了client_id、client_secret還有redirect_uri等字段標(biāo)識(shí)。這些信息被保存在“身份認(rèn)證服務(wù)器”,以確保特定的客戶端收到的信息只來(lái)自于合法的應(yīng)用平臺(tái)。這樣做是目的是為了防止client_id泄露而造成的惡意網(wǎng)站發(fā)起的OIDC流程。

  • OpenID Connect完成很多與OpenID 2.0 相同的任務(wù),是API-friendly,定義了可選的簽名和加密的機(jī)制。

  • OAuth 1.0 和 OpenID 2.0 的集成需要擴(kuò)展,而OpenID Connect協(xié)議本身就建立在OAuth 2.0之上。

因此,OpenID Connect 是“認(rèn)證”和“授權(quán)”的結(jié)合。

(身份驗(yàn)證)+ OAuth 2.0 = OpenID Connect (OIDC) = ( Authentication + Authorization + OAuth2.0)

簡(jiǎn)要而言,OIDC是一種安全機(jī)制,用于應(yīng)用連接到身份認(rèn)證服務(wù)器(Identity Service)獲取用戶信息,并將這些信息以安全可靠的方法返回給應(yīng)用。

# 借鑒網(wǎng)友說(shuō)明
舉個(gè)例子。某個(gè)用戶使用*Facebook*應(yīng)用*“What online quiz best describes you?”* ,該應(yīng)用可以通過(guò)*Facebook*賬號(hào)登錄,則你可以在應(yīng)用中發(fā)起請(qǐng)求到“身份認(rèn)證服務(wù)器”(也就是Facebook的服務(wù)器)請(qǐng)求登錄。這時(shí)你會(huì)看到界面,詢問(wèn)是否授權(quán)。

 在 OAuth 中,這些授權(quán)被稱為scope。OpenID-Connect也有自己特殊的scope--openid ,它必須在第一次請(qǐng)求“身份鑒別服務(wù)器”(Identity Provider,簡(jiǎn)稱IDP)時(shí)發(fā)送過(guò)去。

4.3 JWT 與 OAuth2 .0

要比較JWT和OAuth2,首先要明白一點(diǎn)就是,這兩個(gè)根本沒(méi)有可比性,是兩個(gè)完全不同的東西。

但是既然是沒(méi)有可比性,為何還要放一塊比較呢?實(shí)際開(kāi)發(fā)應(yīng)用中,就發(fā)現(xiàn)很多拿 JWT和OAuth2.0 作對(duì)比,很多情況下,在討論OAuth2的實(shí)現(xiàn)時(shí),會(huì)把JSON Web Token作為一種認(rèn)證機(jī)制使用。這也是為什么他們會(huì)經(jīng)常一起出現(xiàn)。

4.3.1 內(nèi)容區(qū)別

  • JWT是一種認(rèn)證協(xié)議
    JWT提供了一種用于發(fā)布接入令牌(Access Token),并對(duì)發(fā)布的簽名接入令牌進(jìn)行驗(yàn)證的方法。 令牌(Token)本身包含了一系列聲明,應(yīng)用程序可以根據(jù)這些聲明限制用戶對(duì)資源的訪問(wèn)。

一個(gè)token包含三部分:header、claims、signature

  • OAuth2是一種安全的授權(quán)框架

    提供了一套詳細(xì)的授權(quán)機(jī)制。用戶或應(yīng)用可以通過(guò)公開(kāi)的或私有的設(shè)置,授權(quán)第三方應(yīng)用訪問(wèn)特定資源。

Oauth2定義了一組想當(dāng)復(fù)雜的規(guī)范。涉及到:Roles角色、Client Types客戶端類型、Client Profile客戶端描述、Authorization Grants認(rèn)證授權(quán)、Endpoints終端等。

4.3.2 場(chǎng)景區(qū)別

  • jwt應(yīng)用場(chǎng)景

    1)無(wú)狀態(tài)的分布式API

JWT的主要優(yōu)勢(shì)在于使用無(wú)狀態(tài)、可擴(kuò)展的方式處理應(yīng)用中的用戶會(huì)話。服務(wù)端可以通過(guò)內(nèi)嵌編碼的聲明信息,很容易地獲取用戶的會(huì)話信息,而不需要去訪問(wèn)用戶或會(huì)話的數(shù)據(jù)庫(kù)。但是,如果系統(tǒng)中需要使用黑名單實(shí)現(xiàn)長(zhǎng)期有效的token刷新機(jī)制,這種無(wú)狀態(tài)的優(yōu)勢(shì)就不明顯了。

  • Oauth2應(yīng)用場(chǎng)景

    1)第三方認(rèn)證服務(wù)器

    2)大型企業(yè)解決方案

API的使用依賴于外部的第三方認(rèn)證提供者。去認(rèn)證服務(wù)商 那里注冊(cè)你的應(yīng)用,然后設(shè)置需要訪問(wèn)的用戶信息,比如電子郵箱、姓名等。當(dāng)用戶訪問(wèn)站點(diǎn)的注冊(cè)頁(yè)面時(shí),會(huì)看到連接到第三方認(rèn)證提供商的入口。用戶點(diǎn)擊以后被重定向到對(duì)應(yīng)的認(rèn)證服務(wù)商網(wǎng)站,獲得用戶的授權(quán)后就可以訪問(wèn)到需要的信息,然后重定向回來(lái)你的應(yīng)用中。

4.3.3 歸納說(shuō)明

  • Oauth2和JWT是完全不同的兩種東西,一個(gè)是授權(quán)認(rèn)證的框架,另一種則是認(rèn)證驗(yàn)證的方式方法。OAuth2不像JWT一樣是一個(gè)嚴(yán)格的標(biāo)準(zhǔn)協(xié)議,因此在實(shí)施過(guò)程中更容易出錯(cuò)。

  • 兩種方案都需要SSL安全保護(hù),也就是對(duì)要傳輸?shù)臄?shù)據(jù)進(jìn)行加密編碼。安全地傳輸用戶提供的私密信息,在任何一個(gè)安全的系統(tǒng)里都是必要的。否則任何人都可以通過(guò)侵入網(wǎng)絡(luò),在用戶登錄的時(shí)候竊取用戶的用戶名和密碼等信息。

五、總結(jié)

  1. 本篇主要是對(duì)Identity Server4的說(shuō)明,認(rèn)識(shí)到是一個(gè)基于OpenID Connect協(xié)議標(biāo)準(zhǔn)的身份認(rèn)證和授權(quán)程序。

  2. 簡(jiǎn)單的涉及對(duì)基礎(chǔ)知識(shí)的認(rèn)識(shí)以及區(qū)別說(shuō)明,從OAuth、OpenID、OpenID Connect以及JWT等進(jìn)行對(duì)比區(qū)別說(shuō)明。

  3. 在后續(xù)中會(huì)對(duì)Identity Server4中常用術(shù)語(yǔ)說(shuō)明,多種授權(quán)模式,數(shù)據(jù)庫(kù)持久化以及UI界面優(yōu)化和常見(jiàn)問(wèn)題,搭建一個(gè)完整可用的認(rèn)證授權(quán)項(xiàng)目。

  4. 如果有不對(duì)的或不理解的地方,希望大家可以多多指正,提出問(wèn)題,一起討論,不斷學(xué)習(xí),共同進(jìn)步。

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

    0條評(píng)論

    發(fā)表

    請(qǐng)遵守用戶 評(píng)論公約

    類似文章 更多