【问题标题】:.NET Core JWTBearerAuthentication Extension.NET Core JWTBearerAuthentication 扩展
【发布时间】:2017-10-24 07:59:38
【问题描述】:

我目前正在将 JWT 令牌身份验证集成到我的 .NET Core WebAPI 中,并已成功在 Startup.CS 中设置身份验证中间件

app.UseJwtBearerAuthentication(new JwtBearerOptions
        {
          ...
        }

我想插入我的自定义声明验证逻辑,但没有找到有用的文档来解释如何以及在何处扩展或注入我的逻辑。

一个特定的用例是根据列入黑名单的 JTI 列表检查传入令牌中的 JTI 声明,如果找到,则拒绝该令牌。

到目前为止,我已经尝试使用上述逻辑编写另一个中间件并将其插入到 UseJwtBearerAuthentication 之后,但我不确定它是否是正确的方法。

【问题讨论】:

    标签: .net authentication asp.net-web-api asp.net-core jwt


    【解决方案1】:

    我之前编写了一个中间件,插入到内置的 UseJwtBearerAuthentication 中间件之间,以根据黑名单验证 JTI 声明,但无法正确引导响应。

    从那时起,我将逻辑移至自定义授权策略处理程序。之后,我只是用 [Authorized(Policy = [PolicyName])] 注释标记了我的控制器。

    我不确定这是处理这个问题的最佳方式,所以我仍然愿意听听你们是如何做到这一点的,特别是身份验证中间件的扩展,用自定义验证覆盖它或连接另一个自定义验证中间件可能吗?


    以下是创建自定义授权策略处理程序的方法:

    Microsoft - Custom Policy-Based Authorization


    我已经探索了中间件使传入的 JWT 令牌无效的可能性。但是,我注意到在请求短路时,状态代码和响应消息将受到影响,因为中间件会将其传递回默认的 JwtBearerAuthentication 中间件,这将影响其自身的状态和响应消息。

    【讨论】:

      猜你喜欢
      • 2018-10-16
      • 1970-01-01
      • 1970-01-01
      • 2017-10-04
      • 2021-03-21
      • 2018-12-14
      • 2018-01-20
      • 2020-01-30
      • 1970-01-01
      相关资源
      最近更新 更多