gpt4 book ai didi

c# - 将自定义验证添加到 ASP.NET Core 的 JWT token ?

转载 作者:太空狗 更新时间:2023-10-29 22:25:38 27 4
gpt4 key购买 nike

以前,我能够使用 JwtBearerAuthenticationOptions 添加我的自定义 token 处理程序和我的自定义验证。现在有了 Core UseJwtBearerAuthentication,我需要使用 JwtBearerOptions,它似乎没有覆盖 JwtSecurityTokenHandler 的选项。我基本上想覆盖 JwtSecurityTokenHandler 中的以下方法:

protected virtual JwtSecurityToken ValidateSignature(string token, TokenValidationParameters validationParameters)

之前:

app.UseJwtBearerAuthentication(new JwtBearerAuthenticationOptions
{
TokenHandler = new MyTokenHandler()
// other properties here
});

目前使用 ASP.NET Core:

app.UseJwtBearerAuthentication(new JwtBearerOptions
{
// other properties here
});

最佳答案

如果您想实际创建自己的 JwtSecurityTokenHandler 并覆盖 ValidateSignature 方法,您可以使用 SecurityTokenValidators 属性:

var options new JwtBearerOptions();
options.SecurityTokenValidators.Clear();
options.SecurityTokenValidators.Add(new MyTokenHandler());
app.UseJwtBearerAuthentication(options);

从技术上讲,调用 Clear() 不是必需的 - 只要其中一个 token 处理程序可以解析 token ,对身份验证的调用就会成功。但是,如果 JwtSecurityTokenHandler 在您的情况下永远不会成功,那么删除它似乎是有意义的。

关于c# - 将自定义验证添加到 ASP.NET Core 的 JWT token ?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39171674/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com