我正在使用 PostMan 向 API(函式 APP URL)發出請求,在 Header 部分我傳遞 Bearer 令牌字串,在正文中傳遞 JSON 型別 Request 以進一步處理。
現在在代碼中,我需要解碼承載令牌,并且需要用戶詳細資訊來維護“CreatedBy”和 UpdatedBy 欄位。
在實際場景中,呼叫 API 的人應該可以作業,它應該在這些欄位中捕獲他的憑據詳細資訊。
我的問題
- 如何從標頭中獲取承載令牌,以便我可以將其傳遞給解碼以獲取 APP ID 和 OID/物件 ID
2)如何通過傳遞解碼值來獲取用戶詳細資訊,我認為我們還需要傳遞更多資訊,如客戶端 ID、租戶 ID、Appid 等,我可以從 Local/App settings.Json 中讀取這些資訊
謝謝克里希納
uj5u.com熱心網友回復:
你的意思是這樣讀請求頭嗎?
public string Postsam([FromBody]object jsonData)
{
var re = Request;
var headers = re.Headers;
if (headers.Contains("Bearer"))
{
string token = headers.GetValues("Bearer").First();
}
return null;
}
uj5u.com熱心網友回復:
- 如果你能得到 HttpRequest 那么你可以通過
Request.Headers["XYZComponent"];
檢查是否為空!如何獲取標頭取決于您用于構建服務器的框架。
- 附加資訊可以通過 JWT 中的附加宣告傳輸。您必須先解碼令牌,然后才能訪問宣告。
uj5u.com熱心網友回復:
確實,您可以獲取令牌并嘗試讀取它,但不要這樣做。
安裝 nuget Microsoft.AspNetCore.Authentication.JwtBearer。這將在處理每個請求之前添加中間件并自動驗證令牌。
然后,您可以使用 api 從經過驗證的令牌中提取自定義屬性,并將它們添加到請求的主體身份中。首先搜索實作 nuget 包。
轉載請註明出處,本文鏈接:https://www.uj5u.com/net/431758.html
標籤:C# 。网 天蓝色 asp.net 核心 天蓝色活动目录
