基本上,我想在我的MVC Web应用程序中使用表单身份验证来授权对单独的Web API的调用。我设置了标题值:
client.DefaultRequestHeaders.Add("Authorization", "Bearer " + Convert.ToBase64String(Encoding.ASCII.GetBytes(String.Format("{0}:{1}", "username", "password"))));
然后,在API中我尝试获取标题值:
var login = "";
if (actionContext.Request.Headers.GetValues("Authorization") != null)
{
IEnumerable<string> headerValues = actionContext.Request.Headers.GetValues("Authorization");
login = headerValues.FirstOrDefault();
}
但我的结果总是“Bearer MA ==”。我正在尝试获取令牌或用户名;我可以比较的东西,看看用户是否在我的授权属性中有授权。谁能告诉我我错过了什么?