我正在使用Json Web Tokens作为我的ASP.NET Web API ...并且思考了身份模型。
所以在我的web api Startup.cs中,我调用IdentityModelJwtBearerAuthenticationExtensions扩展方法,如下所示:
app.UseJsonWebToken(
issuer: Constants.IssuerName,
audience: Constants.Audience,
signingKey: Constants.SigningKey
);
然后我用AuthorizeAttribute修饰我的API控制器。
好的,那很好!一切都好。
但是当一个令牌到期时......我得到的只是一个未经授权的401。
我希望从JwtSecurityTokenHandler冒泡出来的SecurityTokenValidationException(“Lifetime验证失败。令牌已过期”),并在Web API中可见。
我该怎么做?
我环顾四周,看不出正确的方向。
是否与JwtBearerAuthenticationOptions有关?
为任何智慧欢呼。
答案 0 :(得分:0)
这不是Katana认证中间件的工作原理。如果验证失败,则不会填充主体,因此授权将失败。
此外,您的网络API无法做任何事情,客户需要采取适当的措施。在OAuth中,还期望客户端跟踪到期时间。