簡體   English   中英

“清理”不記名令牌的更好方法

[英]better way to "clean" Bearer token

我正在從當前請求中添加一個 auth 標頭令牌,以便我可以訪問另一個 API,但是當我添加AuthenticationHeaderValue方案(不能為空)時,它會在令牌中復制“Bearer”......所以我只是調用了 Replace( ) 以使其正常工作...

var rawToken = this.HttpContext.Request.Headers["Authorization"];
var cleanedToken = rawToken.ToString().Replace("Bearer ", "", StringComparison.OrdinalIgnoreCase);
requestMessage.Headers.Authorization = new AuthenticationHeaderValue("Bearer", cleanedToken);
HttpResponseMessage response = await httpClient.SendAsync(requestMessage).ConfigureAwait(false);

但是這個對 Replace() 的調用感覺就像一個骯臟的黑客。 是否有經過實戰考驗的庫方法來處理這個問題?

使用AuthenticationHeaderValue.Parse(rawToken)應該可以完成這項工作,因為它會自動從原始值中提取“承載”方案(或任何其他方案)和令牌,無需顯式傳遞它。

暫無
暫無

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

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