授权令牌不在标头中

时间:2014-10-27 16:01:30

标签: asp.net-mvc angularjs asp.net-web-api owin authorize-attribute

所以,我有一个自定义身份验证令牌,用于保护我的web.api项目。现在这是一个承载类型令牌,我将其与标头一起传递,并且我已经设法在我的WebAPI项目中无缝地使用它。

复杂性在于我无法将其用于我的MVC项目。 MVC上的[Authorize]标记使用System.Web.Mvc库而不是System.Web.Http。为了检查包含授权令牌的标头发生了什么,我使用了自定义令牌属性。

public override void OnAuthorization(AuthorizationContext context)

在我的上述函数中,当我使用context.HttpContext.Request.Headers查看标题时,我发现标题中没有授权标记。这是荒谬的,因为我使用角度注入器来添加Bearer令牌,并且它在发送的客户端请求中非常存在。

我没有做什么来接收此令牌?

[更新]

因此,经过一些调试后,我发现Authorize属性没有附加到重定向URL。我想这是因为应用程序没有为这些调用工作的角度拦截器。还知道如何附加授权承载令牌吗?

1 个答案:

答案 0 :(得分:0)

当存在window.location.href因为未执行javascript时,您无法将值注入标头。它是客户端浏览器的直接帖子。解决方案是创建一个cookie并根据请求使用它。