如何解决更好的“清理”不记名令牌的方法
我正在从当前请求中添加一个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()的调用感觉像是一个肮脏的hack。是否有经过战斗验证的库方法可以代替此方法?
解决方法
应该使用AuthenticationHeaderValue.Parse(rawToken)
来完成工作,因为它将自动从原始值中提取“承载”方案(或任何其他方案)和令牌,而无需显式传递它。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。