来自JwtSecurityTokenHandler的例外情况

时间:2014-07-03 05:48:45

标签: c# oauth-2.0 jwt thinktecture-ident-server thinktecture-ident-model

我正在使用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有关?

为任何智慧欢呼。

1 个答案:

答案 0 :(得分:0)

这不是Katana认证中间件的工作原理。如果验证失败,则不会填充主体,因此授权将失败。

此外,您的网络API无法做任何事情,客户需要采取适当的措施。在OAuth中,还期望客户端跟踪到期时间。