我正在尝试找出使jwt令牌无效的最佳方法。阅读其他问题,我不明白什么是最好的方法。
我的后端配置如下: 我有3个Web API,其中之一是用asp net identity jwt配置的。为了使用其他2个Web API,客户端必须首先向登录API请求一个jwt令牌。
进行测试时,我意识到,如果用户请求令牌,并且在重置密码后立即使用令牌,令牌不会失效,因为在其他api上的验证仅考虑了发行者和AudienceSecret
app.UseJwtBearerAuthentication(
new JwtBearerAuthenticationOptions
{
AuthenticationMode = AuthenticationMode.Active,
AllowedAudiences = new[] { audienceId },
IssuerSecurityTokenProviders = new IIssuerSecurityTokenProvider[]
{
new SymmetricKeyIssuerSecurityTokenProvider(issuer, audienceSecret)
}
});
有什么方法可以使令牌无效?
感谢您的帮助
答案 0 :(得分:0)
不,不是。令牌就是这样。这就是为什么在大多数情况下,人们使用2个令牌的原因-一个短暂的访问令牌(这是理所当然的)和一个较长的刷新令牌。然后,每次为给定的刷新令牌找到一个新的访问令牌时,您都要再次检查。
您可以做的是让身份验证端点检查令牌以防止失效。这将创建大量请求。大多数情况下不需要。
在您的示例中,即为什么令牌应该无效?用户更改了密码-他没有注销。