以前,我能够使用JwtBearerAuthenticationOptions
自定义验证添加我的自定义令牌处理程序。现在使用CoreUseJwtBearerAuthentication
我需要使用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()
不是必需的-只要令牌处理程序之一可以解析令牌,身份验证的调用就会成功。但是,JwtSecurityTokenHandler
如果在您的情况下永远无法成功,则删除似乎很有意义。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句