我在 .NET WebAPI 项目中使用 JwtBearerAuthentication Katana 中间件通过 JWT 保护我的 Web API。
所以,在我的 Startup 课程中,我只是在做一些简单的事情,比如:
app.UseJwtBearerAuthentication(
new JwtBearerAuthenticationOptions
{
AuthenticationMode = AuthenticationMode.Active,
AllowedAudiences = new[] { audience },
IssuerSecurityTokenProviders = new IIssuerSecurityTokenProvider[]
{
new SymmetricKeyIssuerSecurityTokenProvider(issuer, secret)
}
});
一切都很好,只有一个例外。
当客户端传入无效或丢失的承载令牌时,WWW-Authenticate 响应标头只是“承载”。
我想自定义该标头以包含我的授权服务器的地址和支持的授权类型。
更像是: WWW-Authenticate: MyAuth href=url,grant_type="supported-grants" 或其他...
做这个的最好方式是什么?我很惊讶 JwtBearerAuthenticationOptions 类不包含 Challenge 属性。我可以解决这个问题,但想知道 Jwt 中间件是否有最佳实践。