问题
给定一个带有Authorization
头的HttpRequest
,最简单的方法是什么可以获取该头的身份验证类型和身份验证凭据?
例如,对于Authorization: Bearer YWxhZGRpbjpvcGVuc2VzYW1l
,如何从HttpRequest
中获取Bearer
和YWxhZGRpbjpvcGVuc2VzYW1l
两个值?
是的,我知道有Identity框架存在。但我这里没有使用它。如果你真的想试图改变我的想法,我们可以在聊天室中讨论。
我尝试过的
我正在编写一个类似以下代码的函数:
var authorizationHeader = request.Headers["Authorization"].ToArray()[0];
var authorizationParts = authorizationHeader.Split(' ');
if (authorizationParts.Length == 2 && authorizationParts[0] == "Bearer")
{
var tokenValue = authorizationParts[1];
// ...
}
// ...
但它非常容易出错且冗长。例如,在第一行中,我没有检查数组是否至少包含一个元素。