真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

IdentityServer4中怎樣入門(mén)與API添加客戶端憑據(jù)

今天就跟大家聊聊有關(guān)IdentityServer4中怎樣入門(mén)與API添加客戶端憑據(jù),可能很多人都不太了解,為了讓大家更加了解,小編給大家總結(jié)了以下內(nèi)容,希望大家根據(jù)這篇文章可以有所收獲。

成都創(chuàng)新互聯(lián)堅(jiān)持“要么做到,要么別承諾”的工作理念,服務(wù)領(lǐng)域包括:網(wǎng)站設(shè)計(jì)制作、成都網(wǎng)站設(shè)計(jì)、企業(yè)官網(wǎng)、英文網(wǎng)站、手機(jī)端網(wǎng)站、網(wǎng)站推廣等服務(wù),滿足客戶于互聯(lián)網(wǎng)時(shí)代的朝天網(wǎng)站設(shè)計(jì)、移動(dòng)媒體設(shè)計(jì)的需求,幫助企業(yè)找到有效的互聯(lián)網(wǎng)解決方案。努力成為您成熟可靠的網(wǎng)絡(luò)建設(shè)合作伙伴!

下面將要講述如何使用IdentityServer4對(duì)API授權(quán)保護(hù)以及如何攜帶Token進(jìn)行訪問(wèn)受保護(hù)的API,通過(guò)HttpClient或Http請(qǐng)求中的body這些我們都可以達(dá)到。那么廢話不多說(shuō),開(kāi)始吧~

首先我們一定要知道,我們?cè)L問(wèn)要訪問(wèn)一個(gè)受安全限制的API的鎖子是在一個(gè)專門(mén)的IdentityServer4驗(yàn)證服務(wù)器。所以呢,我們需要?jiǎng)?chuàng)建一個(gè)認(rèn)證服務(wù)器。首先我們創(chuàng)建一個(gè)API項(xiàng)目。

IdentityServer4中怎樣入門(mén)與API添加客戶端憑據(jù)

創(chuàng)建完成之后,我們?cè)賱?chuàng)建一個(gè)Config.cs,當(dāng)然這個(gè)名字你隨意,但你需要在DI注入的時(shí)候與其對(duì)應(yīng)。在 GetSoluction 中定義了我們的API,也就是受保護(hù)的鎖子,第一個(gè)參數(shù)是name,也就是Api的名稱,那么后面是顯示的名字,也就是DisplayName。在 GetClients 當(dāng)中我們定義了受信任的客戶端,其中有客戶端的ID,授權(quán)方式,客戶端加密方式,通過(guò) AllowedScopes  還定義了這個(gè)客戶端可以訪問(wèn)的API。

IdentityServer4中怎樣入門(mén)與API添加客戶端憑據(jù)

我們現(xiàn)在已經(jīng)寫(xiě)好了關(guān)于IdentityServer4服務(wù)器的配置文件,那么我們還需要去依賴注入到.NET Core管道中,現(xiàn)在我們看一下定義。

IdentityServer4中怎樣入門(mén)與API添加客戶端憑據(jù)

就是這樣 - 如果您運(yùn)行服務(wù)器并瀏覽瀏覽器  http://localhost:您的端口/.well-known/openid-configuration ,您應(yīng)該會(huì)看到所謂的發(fā)現(xiàn)文檔。客戶端和API將使用它來(lái)下載必要的配置數(shù)據(jù)。

IdentityServer4中怎樣入門(mén)與API添加客戶端憑據(jù)

 首次啟動(dòng)時(shí),IdentityServer將為您創(chuàng)建一個(gè)開(kāi)發(fā)人員簽名密鑰,它是一個(gè)名為的文件tempkey.rsa。您不必將該文件檢入源代碼管理中,如果該文件不存在,將重新創(chuàng)建該文件。

IdentityServer4中怎樣入門(mén)與API添加客戶端憑據(jù)

   以下是用PostMan進(jìn)行的測(cè)試,以HttpPost方式進(jìn)行請(qǐng)求,并在Http Body中進(jìn)行編輯請(qǐng)求體上下文,測(cè)試結(jié)果如下。如果三個(gè)參數(shù)沒(méi)有問(wèn)題就返回token,如果其中三個(gè)參數(shù)有一個(gè)寫(xiě)錯(cuò),那么就會(huì)返回400錯(cuò)誤(error:invalid_client)。

IdentityServer4中怎樣入門(mén)與API添加客戶端憑據(jù)

 下面在API項(xiàng)目中添加控制器:

IdentityServer4中怎樣入門(mén)與API添加客戶端憑據(jù)

稍后將使用此控制器來(lái)測(cè)試授權(quán)要求,以及通過(guò)API的眼睛可視化聲明身份?,F(xiàn)在我們將身份驗(yàn)證服務(wù)添加到DI和身份驗(yàn)證中間價(jià)到管道中,驗(yàn)證傳入令牌以確保它來(lái)自受信任的頒發(fā)者。

將Startup更新為如下所示:

IdentityServer4中怎樣入門(mén)與API添加客戶端憑據(jù)

 AddAuthentication 是為了用于將IdentityServer4訪問(wèn)令牌驗(yàn)證處理程序?qū)⒃贒I中提供身份驗(yàn)證服務(wù)。 UseAuthentication 將身份驗(yàn)證中間件添加到管道中,以便在每次調(diào)用主機(jī)時(shí)自動(dòng)執(zhí)行身份驗(yàn)證。如果你現(xiàn)在轉(zhuǎn)到 http://localhost:prot/identity
中是401錯(cuò)誤的話,說(shuō)明API已經(jīng)得到了保護(hù)。配置成功了!,現(xiàn)在我們要?jiǎng)?chuàng)建我們的客戶端了。去訪問(wèn)受保護(hù)的API需要攜帶鑰匙,那么這個(gè)鑰匙術(shù)語(yǔ)叫做令牌,那就是通往大門(mén)的令牌!現(xiàn)在立刻創(chuàng)建一個(gè)控制臺(tái)程序,使用令牌訪問(wèn)API。
首先我們需要安裝IdentityModel,因?yàn)樗梢蕴嫖覀冋业皆獢?shù)據(jù)。

IdentityServer4中怎樣入門(mén)與API添加客戶端憑據(jù)

IdentityModel包括用于發(fā)現(xiàn)端點(diǎn)的客戶端庫(kù)。這樣您只需要知道IdentityServer的基地址 - 可以從元數(shù)據(jù)中讀取實(shí)際的端點(diǎn)地址:

IdentityServer4中怎樣入門(mén)與API添加客戶端憑據(jù)

接下來(lái),您可以使用發(fā)現(xiàn)文檔中的信息來(lái)請(qǐng)求令牌:

IdentityServer4中怎樣入門(mén)與API添加客戶端憑據(jù)

要將訪問(wèn)令牌發(fā)送到API,通常使用HTTP Authorization標(biāo)頭。這是使用 SetBearerToken 擴(kuò)展方法完成的:

IdentityServer4中怎樣入門(mén)與API添加客戶端憑據(jù)

就這樣,我們啟動(dòng)結(jié)果如下,啟動(dòng)順序,應(yīng)先啟動(dòng)身份認(rèn)證平臺(tái),然后再啟動(dòng)API,在啟動(dòng)控制臺(tái)調(diào)試工具。

IdentityServer4中怎樣入門(mén)與API添加客戶端憑據(jù)

   就這樣一個(gè)簡(jiǎn)單的IdentityServer4身份認(rèn)證平臺(tái)就OK了,現(xiàn)在是不是想要迫切的試一下呢?哈哈,關(guān)于源代碼,我放到我的Coding中了,地址是:https://coding.net/u/zaranet/p/IdentitySERVER,當(dāng)然不要看著簡(jiǎn)單,還是自己敲一下吧,如果你一點(diǎn)都沒(méi)有碰過(guò)IdentityServer的話。下面我們?cè)诨仡櫼幌隆?/p>

IdentityServer4中怎樣入門(mén)與API添加客戶端憑據(jù)

我們?cè)?nbsp;IdentityServerSoluction 中定義了 Config 文件,用于Id4的配置,主要功能是為了認(rèn)證模型,其中還設(shè)置了Client請(qǐng)求文中的 ClientId 這些參數(shù)等等。那么 IdentItyAPI 就是我們的項(xiàng)目服務(wù),其中通過(guò) Authorize 標(biāo)記的都是具有安全保護(hù)的API控制器,那么我們就需要去獲取我們的IdentityServerSoluction 中的驗(yàn)證,這樣我們才可以訪問(wèn),那么我們就用了.NET Core控制臺(tái)程序去模擬了這個(gè)過(guò)程,其中涉及了 HttpClient 相關(guān)知識(shí)。那么最后返回了我們的相關(guān) token ,這樣,我們可以根據(jù) token 去獲取我們想要的API服務(wù)了!

看完上述內(nèi)容,你們對(duì)IdentityServer4中怎樣入門(mén)與API添加客戶端憑據(jù)有進(jìn)一步的了解嗎?如果還想了解更多知識(shí)或者相關(guān)內(nèi)容,請(qǐng)關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道,感謝大家的支持。


新聞標(biāo)題:IdentityServer4中怎樣入門(mén)與API添加客戶端憑據(jù)
鏈接分享:http://weahome.cn/article/jjsosi.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部