所以,我有一个自定义身份验证令牌,用于保护我的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。我想这是因为应用程序没有为这些调用工作的角度拦截器。还知道如何附加授权承载令牌吗?
答案 0 :(得分:0)
当存在window.location.href
因为未执行javascript时,您无法将值注入标头。它是客户端浏览器的直接帖子。解决方案是创建一个cookie并根据请求使用它。