【问题标题】:Invalidate Asp Net Identity Jwt Token使 Asp Net Identity Jwt 令牌无效
【发布时间】:2019-01-12 17:48:18
【问题描述】:

我正在尝试找出使 jwt 令牌无效的最佳方法。阅读其他问题我不明白什么是最好的方法。

我的后端配置如下: 我有 3 个 Web API,其中一个配置了 asp net identity jwt。客户端要使用其他 2 个 Web API,必须先向登录 API 请求一个 jwt 令牌。

做测试我意识到如果用户请求令牌并且在重置密码后立即,令牌不会失效,因为其他 api 上的验证只考虑 issuer 和 AudienceSecret

app.UseJwtBearerAuthentication(
    new JwtBearerAuthenticationOptions
    {
        AuthenticationMode = AuthenticationMode.Active,
        AllowedAudiences = new[] { audienceId },
        IssuerSecurityTokenProviders = new IIssuerSecurityTokenProvider[]
        {
            new SymmetricKeyIssuerSecurityTokenProvider(issuer, audienceSecret)
        }
});

有没有办法使令牌失效?

感谢您的帮助

【问题讨论】:

    标签: c# asp.net asp.net-identity jwt


    【解决方案1】:

    不,不是。令牌就是这样的。这就是为什么在大多数情况下人们使用 2 个令牌 - 短期访问令牌(这只是被认为是理所当然的)和长期刷新令牌。每次为给定的刷新令牌生成新的访问令牌时,您都会再次检查。

    您可以做的是让身份验证端点检查令牌以防止失效。这将创建非常多的请求。大多数情况下不需要。

    在您的示例中,即为什么要使令牌无效?用户更改了密码 - 他没有注销。

    【讨论】:

      猜你喜欢
      • 2017-05-31
      • 2016-06-16
      • 2020-05-08
      • 1970-01-01
      • 2021-04-13
      • 2021-09-25
      • 2019-03-19
      • 2016-12-23
      • 2016-12-03
      相关资源
      最近更新 更多