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

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

IdentityServer Topics(1)- 启动说明

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

啟動

IdentityServer的啟動是中間件和服務的組合來實現的。 所有配置都在你的啟動類(Startup.cs)中完成。

配置服務

通過以下方式調用將IdentityServer服務添加到DI系統:

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

這將返回一個生成器對象,而這個對象又有一些方便的方法來連接其他的服務。

密鑰

  • AddSigningCredential
    添加一個簽名密鑰服務,該服務將指定的密鑰提供給各種令牌創建/驗證服務。 您可以傳入X509Certificate2,SigningCredential或對證書存儲區中證書的引用。

  • AddDeveloperSigningCredential
    在啟動時創建臨時密鑰。 這是僅用于開發場景,當您沒有證書使用。 生成的密鑰將被保存到文件系統,以便在服務器重新啟動之間保持穩定(可以通過傳遞false來禁用)。 這解決了在開發期間client / api元數據緩存不同步的問題。

  • AddValidationKey
    添加驗證令牌的密鑰。 它們將被內部令牌驗證器使用,并將顯示在發現文檔中。 您可以傳入X509Certificate2,SigningCredential或對證書存儲區中證書的引用。 這對于關鍵的轉換場景很有用。

內存存儲配置

各種“in-memory“配置API允許從配置對象的內存列表配置IdentityServer。 這些“in-memory”的集合可以在宿主應用程序中進行硬編碼,也可以從配置文件或數據庫動態加載。 但是,在設計時,只有托管應用程序啟動時才會創建這些集合。

使用這些配置API可用于原型設計,開發和/或測試時不需要在運行時動態查詢配置數據的數據庫。 如果配置很少改變,這種配置方式也可能適用于生產方案,或者如果必須更改值,則需要重新啟動應用程序并不方便。

  • AddInMemoryClients
    添加基于IClientStore和ICorsPolicyService的內存集合注冊實現,以注冊客戶端配置對象。

  • AddInMemoryIdentityResources
    添加基于IResourceStore的IdentityResource的內存集合注冊實現,以注冊身份驗證資源。

  • AddInMemoryApiResources
    添加基于IResourceStore的ApiResource的內存集合注冊實現,以注冊API資源。

測試存儲

TestUser類在IdentityServer中模擬用戶,憑據和聲明。 TestUser的使用與使用“in-memory”存儲類似,因為它適用于原型開發和/或測試。 生產中不推薦使用TestUser。

  • AddTestUsers
    基于TestUserStore的TestUser對象的集合注冊實現。 還注冊IProfileService和IResourceOwnerPasswordValidator的實現。

額外服務

  • AddExtensionGrantValidator
    添加用于擴展授權的IExtensionGrantValidator實現。

  • AddSecretParser
    添加用于解析客戶端或API資源憑證的ISecretParser實現。

  • AddSecretValidator
    添加ISecretValidator實現,以針對憑證存儲驗證客戶端或API資源憑證。

  • AddResourceOwnerValidator 添加IResourceOwnerPasswordValidator`實現,用于驗證資源所有者密碼憑據授權類型的用戶憑證。

  • AddProfileService 添加IProfileService以實現連接到您的自定義用戶配置文件存儲。DefaultProfileService`類提供了默認實現,它依靠身份驗證cookie作為唯一的令牌發放源。

  • AddAuthorizeInteractionResponseGenerator
    添加IAuthorizeInteractionResponseGenerator實現來在授權端點定制邏輯,以便顯示用戶錯誤,登錄,同意或任何其他自定義頁面的UI。 AuthorizeInteractionResponseGenerator類提供了一個默認的實現,因此如果需要增加現有的行為,可以考慮從這個現有的類派生。

  • AddCustomAuthorizeRequestValidator
    添加ICustomAuthorizeRequestValidator實現,以在授權端點定制請求參數驗證。

  • AddCustomTokenRequestValidator
    添加ICustomTokenRequestValidator實現來定制令牌端點處的請求參數驗證。

  • AddRedirectUriValidator
    添加IRedirectUriValidator實現來自定義重定向URI驗證。

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

  • AddJwtBearerClientAuthentication
    使用JWT對客戶機認證的支持。

緩存

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

  • AddInMemoryCaching
    要使用下面描述的任何緩存,必須在DI中注冊ICache的實現。 此API注冊基于ASP.NET Core的ICache 的MemoryCache默認內存緩存實現。

  • AddClientStoreCache
    注冊一個IClientStore裝飾器實現,它將維護客戶端配置對象的內存緩存。 緩存持續時間可以在IdentityServerOptions上的緩存配置選項上配置。

  • AddResourceStoreCache
    注冊一個IResourceStore裝飾器實現,它將維護IdentityResource和ApiResource配置對象的內存緩存。 緩存持續時間可以在IdentityServerOptions上的緩存配置選項上配置。

  • AddCorsPolicyCache
    注冊一個ICorsPolicyService裝飾器實現,它將維護一個CORS策略服務評估結果的內存緩存。 緩存持續時間可以在IdentityServerOptions上的緩存配置選項上配置。

可以進一步定制緩存:
默認緩存依賴于ICache實現。 如果您希望自定義特定配置對象的緩存行為,則可以在依賴注入系統中替換此實現。

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

配置中間件

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

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

UseIdentityServer包含對UseAuthentication的調用,所以沒有必要同時調用這兩個。

中間件沒有額外的配置。

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

總結

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

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。