簡體   English   中英

如何使用傳入的不記名令牌設置線程的身份?

[英]How do I set Identity of the thread using incoming bearer token?

我編寫了一個生成和返回令牌的 IDP 應用程序。 還有另一個 API 用於所有業務邏輯。 我將令牌發送到企業 api 並在 IServicesCollection 上設置了 AddAuthentication 和 AddJwtBearer。 當我嘗試訪問 Thread.CurrentPrincipal 是 null。 如何確保已設置我是否缺少設置?

這兩個 API 都是用 dotnet 6 編寫的,使用這兩個 API 的客戶端是用 react 編寫的,並且使用的是 redux-oidc 庫。

在此處輸入圖像描述

謝謝,拉杜爾夫

Cookies 與請求的上下文相關聯。 只要您的服務和方法作為 Scoped 注入,您就可以相信整個請求中使用的 cookie 是正確的。 您通常應該避免手動篡改 cookie 的 state。

默認情況下,Asp 核心會為您處理這個問題,您實際上可以使用 static 上下文或通過注入 IHttpContextAccessor 來獲取 cookie。 變成 class

Request.Cookies.TryGetValue("Cookie_Name");

(IHttpContextAccessor) _context.HttpContext.Request.Cookies.TryGetValue("Cookie_Name")

我可以通過使用通過 DI 注入的 HttpContextAccessor 獲得的 httpcontext 訪問用戶聲明,而不是使用線程。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM