【发布时间】:2016-05-24 17:19:02
【问题描述】:
我有使用 WebApi 2 应用程序进行身份验证和授权的 MVC 前端应用程序。我正在使用 JWT 令牌。到目前为止,我已经能够成功地进行身份验证并接收回一个令牌……我可以通过使用 POSTMAN 工具向标头添加一个授权令牌来进一步访问受限资源([Authorize] 属性)。
Authorization: “Bearer <jwt.token.string>”
问题是,我无法拦截 MVC 管道中的调用以将令牌添加到 httpHeader。它总是将我引导回登录页面。当我使用 POSTMAN 工具时,情况并非如此。我尝试在以下几点注入令牌失败:
- 使用自定义实现扩展 Authorize 属性
- 添加自定义 ActionFilterAttribute
- 添加自定义 DelegatingHandler
- 在 Startup.cs 中使用 StageMarker (PipelineStageAuthenticate) 的 Owin 管道
在上述所有情况下,我都会触发事件,因为我可以调试。我强烈怀疑我在设置标头之前达到了授权点,但我无法弄清楚正确拦截 HttpContext 对象并注入授权标头的流程顺序。
【问题讨论】:
标签: asp.net-mvc asp.net-web-api owin jwt