選項


layout: docs-default

IdentityServerBearerTokenAuthenticationOptions有一系列的選項來調整令牌驗證過程。

通用說明

  • Authority設置IdentityServer的基礎地址。這個允許自動配置(JWT)和訪問令牌驗證endpoint(參考令牌)
  • RequiredScopes 設置一個 或者 多個 scope 聲明,期望在訪問令牌中存在。
  • ValidationMode 可以設置為 Local (僅JWTs ), ValidationEndpoint (JWTs 和參考令牌使用驗證endpoint - 以及 Both 用于 本地驗證JWTs 以及使用驗證endpoint驗證參考令牌(默認為 Both).
  • TokenProvider 定義了如何從HTTP請求中取到令牌,默認從Authorization 頭中獲取。自定義的令牌類型可能會從其它頭或者查詢字符串拿到令牌。
  • NameClaimType 設置ClaimsIdentity的名字聲明類型 (默認是 name).
  • RoleClaimType 設置ClaimsIdentity的角色聲明類型 (默認是 role).
  • PreserveAccessToken 如果設置為true,會創(chuàng)建一個叫做token的聲明來保存?zhèn)魅氲脑L問令牌(默認是 false).當想把令牌轉發(fā)給其它API,暫存令牌非常有用。比如調用用戶信息endpoint。
  • BackChannelHttpHandler 允許為back-channel通信指定一個自定義處理程序
    (比如:發(fā)現(xiàn) endpoint 或令牌驗證 endpoint).
  • BackchannelCertificateValidator 為back-channel通信制定一個自定義證書驗證
  • DelayLoadMetadata 告訴中間件不要在程序啟動的時候裝載元數(shù)據(jù),應該在第一次請求的時候裝載 (默認是 false). 當啟動的時候discovery endpoint還沒就緒--比如使用者和令牌服務托管在同一個進程中。

JWTs的靜態(tài)配置

除了從發(fā)現(xiàn)endpoint自動獲取配置信息外,我們也可以手動配置中間件。

  • IssuerName 設置期望的IdentityServer的issuer名字
  • SigningCertificate 設置X.509證書來驗證訪問令牌簽名

備注 當某種情況下,發(fā)現(xiàn)文檔不能用的時候,靜態(tài)配置非常有用,比如IdentityServer和客戶都或者API運行在同一個Web應用里

使用Introspection Endpoint ( v2.2新增)

IdentityServer2.2版本開始支持令牌的內(nèi)省。當使用參考令牌的時候,推薦使用這種方式 (請看 here).

這種情況下,需要讓ClientIdClientSecret的值和IdentityServer作用域配置中的name和secret 一樣。(請看scopes)

啟用緩存

當使用參考令牌,你不想每次請求都去IdentityServer驗證一下,這種情況下可以緩存驗證結果。

  • EnableValidationResultCache 啟用或者禁用驗證結果緩存(默認是 false).
  • ValidationResultCacheDuration 設置緩存時長 (默認 5 分鐘).
  • ValidationResultCache 設置緩存實現(xiàn)。默認采用內(nèi)存緩存但是可以通過實現(xiàn)IValidationResultCache接口來擴展.
最后編輯于
?著作權歸作者所有,轉載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

相關閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容