日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 编程资源 > 编程问答 >内容正文

编程问答

IdentityServer Topics(1)- 启动说明

發(fā)布時(shí)間:2025/3/8 编程问答 18 豆豆
生活随笔 收集整理的這篇文章主要介紹了 IdentityServer Topics(1)- 启动说明 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
原文:IdentityServer Topics(1)- 啟動(dòng)說明

啟動(dòng)

IdentityServer的啟動(dòng)是中間件和服務(wù)的組合來(lái)實(shí)現(xiàn)的。 所有配置都在你的啟動(dòng)類(Startup.cs)中完成。

配置服務(wù)

通過以下方式調(diào)用將IdentityServer服務(wù)添加到DI系統(tǒng):

public void ConfigureServices(IServiceCollection services) {var builder = services.AddIdentityServer(); }

這將返回一個(gè)生成器對(duì)象,而這個(gè)對(duì)象又有一些方便的方法來(lái)連接其他的服務(wù)。

密鑰

  • AddSigningCredential
    添加一個(gè)簽名密鑰服務(wù),該服務(wù)將指定的密鑰提供給各種令牌創(chuàng)建/驗(yàn)證服務(wù)。 您可以傳入X509Certificate2,SigningCredential或?qū)ψC書存儲(chǔ)區(qū)中證書的引用。

  • AddDeveloperSigningCredential
    在啟動(dòng)時(shí)創(chuàng)建臨時(shí)密鑰。 這是僅用于開發(fā)場(chǎng)景,當(dāng)您沒有證書使用。 生成的密鑰將被保存到文件系統(tǒng),以便在服務(wù)器重新啟動(dòng)之間保持穩(wěn)定(可以通過傳遞false來(lái)禁用)。 這解決了在開發(fā)期間client / api元數(shù)據(jù)緩存不同步的問題。

  • AddValidationKey
    添加驗(yàn)證令牌的密鑰。 它們將被內(nèi)部令牌驗(yàn)證器使用,并將顯示在發(fā)現(xiàn)文檔中。 您可以傳入X509Certificate2,SigningCredential或?qū)ψC書存儲(chǔ)區(qū)中證書的引用。 這對(duì)于關(guān)鍵的轉(zhuǎn)換場(chǎng)景很有用。

內(nèi)存存儲(chǔ)配置

各種“in-memory“配置API允許從配置對(duì)象的內(nèi)存列表配置IdentityServer。 這些“in-memory”的集合可以在宿主應(yīng)用程序中進(jìn)行硬編碼,也可以從配置文件或數(shù)據(jù)庫(kù)動(dòng)態(tài)加載。 但是,在設(shè)計(jì)時(shí),只有托管應(yīng)用程序啟動(dòng)時(shí)才會(huì)創(chuàng)建這些集合。

使用這些配置API可用于原型設(shè)計(jì),開發(fā)和/或測(cè)試時(shí)不需要在運(yùn)行時(shí)動(dòng)態(tài)查詢配置數(shù)據(jù)的數(shù)據(jù)庫(kù)。 如果配置很少改變,這種配置方式也可能適用于生產(chǎn)方案,或者如果必須更改值,則需要重新啟動(dòng)應(yīng)用程序并不方便。

  • AddInMemoryClients
    添加基于IClientStore和ICorsPolicyService的內(nèi)存集合注冊(cè)實(shí)現(xiàn),以注冊(cè)客戶端配置對(duì)象。

  • AddInMemoryIdentityResources
    添加基于IResourceStore的IdentityResource的內(nèi)存集合注冊(cè)實(shí)現(xiàn),以注冊(cè)身份驗(yàn)證資源。

  • AddInMemoryApiResources
    添加基于IResourceStore的ApiResource的內(nèi)存集合注冊(cè)實(shí)現(xiàn),以注冊(cè)API資源。

測(cè)試存儲(chǔ)

TestUser類在IdentityServer中模擬用戶,憑據(jù)和聲明。 TestUser的使用與使用“in-memory”存儲(chǔ)類似,因?yàn)樗m用于原型開發(fā)和/或測(cè)試。 生產(chǎn)中不推薦使用TestUser。

  • AddTestUsers
    基于TestUserStore的TestUser對(duì)象的集合注冊(cè)實(shí)現(xiàn)。 還注冊(cè)IProfileService和IResourceOwnerPasswordValidator的實(shí)現(xiàn)。

額外服務(wù)

  • AddExtensionGrantValidator
    添加用于擴(kuò)展授權(quán)的IExtensionGrantValidator實(shí)現(xiàn)。

  • AddSecretParser
    添加用于解析客戶端或API資源憑證的ISecretParser實(shí)現(xiàn)。

  • AddSecretValidator
    添加ISecretValidator實(shí)現(xiàn),以針對(duì)憑證存儲(chǔ)驗(yàn)證客戶端或API資源憑證。

  • AddResourceOwnerValidator 添加IResourceOwnerPasswordValidator`實(shí)現(xiàn),用于驗(yàn)證資源所有者密碼憑據(jù)授權(quán)類型的用戶憑證。

  • AddProfileService 添加IProfileService以實(shí)現(xiàn)連接到您的自定義用戶配置文件存儲(chǔ)。DefaultProfileService`類提供了默認(rèn)實(shí)現(xiàn),它依靠身份驗(yàn)證cookie作為唯一的令牌發(fā)放源。

  • AddAuthorizeInteractionResponseGenerator
    添加IAuthorizeInteractionResponseGenerator實(shí)現(xiàn)來(lái)在授權(quán)端點(diǎn)定制邏輯,以便顯示用戶錯(cuò)誤,登錄,同意或任何其他自定義頁(yè)面的UI。 AuthorizeInteractionResponseGenerator類提供了一個(gè)默認(rèn)的實(shí)現(xiàn),因此如果需要增加現(xiàn)有的行為,可以考慮從這個(gè)現(xiàn)有的類派生。

  • AddCustomAuthorizeRequestValidator
    添加ICustomAuthorizeRequestValidator實(shí)現(xiàn),以在授權(quán)端點(diǎn)定制請(qǐng)求參數(shù)驗(yàn)證。

  • AddCustomTokenRequestValidator
    添加ICustomTokenRequestValidator實(shí)現(xiàn)來(lái)定制令牌端點(diǎn)處的請(qǐng)求參數(shù)驗(yàn)證。

  • AddRedirectUriValidator
    添加IRedirectUriValidator實(shí)現(xiàn)來(lái)自定義重定向URI驗(yàn)證。

  • AddAppAuthRedirectUriValidator
    添加一個(gè)“AppAuth”(OAuth 2.0 for Native Apps)兼容的重定向URI驗(yàn)證器(進(jìn)行嚴(yán)格的驗(yàn)證,但也允許隨機(jī)端口為http://127.0.0.1)。

  • AddJwtBearerClientAuthentication
    使用JWT對(duì)客戶機(jī)認(rèn)證的支持。

緩存

客戶端和資源配置數(shù)據(jù)經(jīng)常被IdentityServer使用。 如果從數(shù)據(jù)庫(kù)或其他外部存儲(chǔ)裝載此數(shù)據(jù),那么頻繁地重新加載相同的數(shù)據(jù)代價(jià)可能是昂貴的。

  • AddInMemoryCaching
    要使用下面描述的任何緩存,必須在DI中注冊(cè)ICache的實(shí)現(xiàn)。 此API注冊(cè)基于ASP.NET Core的ICache 的MemoryCache默認(rèn)內(nèi)存緩存實(shí)現(xiàn)。

  • AddClientStoreCache
    注冊(cè)一個(gè)IClientStore裝飾器實(shí)現(xiàn),它將維護(hù)客戶端配置對(duì)象的內(nèi)存緩存。 緩存持續(xù)時(shí)間可以在IdentityServerOptions上的緩存配置選項(xiàng)上配置。

  • AddResourceStoreCache
    注冊(cè)一個(gè)IResourceStore裝飾器實(shí)現(xiàn),它將維護(hù)IdentityResource和ApiResource配置對(duì)象的內(nèi)存緩存。 緩存持續(xù)時(shí)間可以在IdentityServerOptions上的緩存配置選項(xiàng)上配置。

  • AddCorsPolicyCache
    注冊(cè)一個(gè)ICorsPolicyService裝飾器實(shí)現(xiàn),它將維護(hù)一個(gè)CORS策略服務(wù)評(píng)估結(jié)果的內(nèi)存緩存。 緩存持續(xù)時(shí)間可以在IdentityServerOptions上的緩存配置選項(xiàng)上配置。

可以進(jìn)一步定制緩存:
默認(rèn)緩存依賴于ICache實(shí)現(xiàn)。 如果您希望自定義特定配置對(duì)象的緩存行為,則可以在依賴注入系統(tǒng)中替換此實(shí)現(xiàn)。

ICache<T>的默認(rèn)實(shí)現(xiàn)依賴于.NET提供的IMemoryCache接口(和MemoryCache實(shí)現(xiàn))。 如果您希望自定義內(nèi)存中的緩存行為,則可以替換依賴注入系統(tǒng)中的IMemoryCache實(shí)現(xiàn)。

配置中間件

您需要通過以下方式調(diào)用將IdentityServer添加到管道中:

public void Configure(IApplicationBuilder app) {app.UseIdentityServer(); }

UseIdentityServer包含對(duì)UseAuthentication的調(diào)用,所以沒有必要同時(shí)調(diào)用這兩個(gè)。

中間件沒有額外的配置。

請(qǐng)注意,添加順序在管道配置中很重要。 例如,您需要在添加MVC中間件之前添加IdentitySever。

總結(jié)

以上是生活随笔為你收集整理的IdentityServer Topics(1)- 启动说明的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。