关于access_token生存期的ID_token生存期(OpenID Connect)

时间:2018-09-28 10:41:14

标签: openid-connect

id_token是否比访问令牌具有更长的生存期?

在此建议id_token的生存期较短: What is intent of ID Token expiry time in OpenID Connect?

但是,这里说id_token生存期默认设置为10小时以优化性能。

https://auth0.com/docs/tokens/id-token

我见过Openidc客户端库,当访问令牌或ID令牌无效(例如已过期)时,该库不允许访问资源。 https://github.com/damienbod/angular-auth-oidc-client

这正确吗?

id令牌和访问令牌之间的关系是什么?

1 个答案:

答案 0 :(得分:0)

  

id_token是否比访问令牌具有更长的生存期?

不,通常不是。

处理id_token的常用方法是验证用户的身份,从该令牌中获取有关用户的信息,将该信息缓存,并不再使用id_token (因为您只是之后就不需要了)。但是您的客户端应用程序可能具有与id_token相关的某些逻辑,因此您可能希望使其寿命更长。例如,提到的angular-auth-oidc-client lib uses id_token expiration date可以在令牌过期时执行静默更新。

  

这里提出了id_token寿命短的想法   但是,这里说id_token的生存期默认设置为10小时

尽管例如IdentityServer4拥有5 minutes by default,但仍然很短的10个小时。

  

id令牌和访问令牌之间的关系是什么?

总结:这取决于您的客户。通常,id_token短命是可以的,但是例如,如果您使用angular-auth-oidc-client库的隐含低值,那么访问和id令牌的到期时间不同就没有多大意义,如果您不想过于频繁地执行无提示刷新,那么寿命应该足够,我会说1小时或更长时间。