当前位置: 首页 > 知识库问答 >
问题:

Id_令牌生存期相对于访问_令牌生存期(OpenID Connect)

麻阳
2023-03-14

id_令牌是否意味着比访问令牌的寿命更长?

这里提出了id_令牌的生命周期很短的想法:OpenID Connect中的id令牌到期时间的目的是什么?

然而,这里说的是,id_令牌寿命默认设置为10小时,以优化性能。

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

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

对吗?

关于ID令牌和访问令牌的生存期,它们之间的关系是什么?

共有1个答案

慕容高卓
2023-03-14

id_令牌是否意味着比访问令牌的寿命更长?

不,通常不会。

处理id_令牌的常见方法只是验证用户是否经过身份验证,从该令牌获取有关用户的信息,缓存该信息,并且永远不要再次使用id_令牌(因为以后不需要它)。但是你的客户端应用程序可能有一些与id_token相关的逻辑,所以你可能想让它更长寿。例如,前面提到的angular auth oidc客户端库使用id_令牌过期日期在令牌过期时执行静默续订。

这里的想法,id_token可以有一个短的生命周期是建议然而,这里是说,id_token生命周期设置为10小时默认情况下

嗯,10小时仍然很短,但例如IdentityServer4默认有5分钟。

关于ID令牌和访问令牌的生存期,它们之间的关系是什么?

总而言之:这取决于你的客户。通常情况下,使用短期的id_令牌是可以的,但例如,如果使用隐式低的angular auth oidc client库,那么使用不同的访问过期时间和id令牌就没有多大意义,如果不想经常执行静默刷新,那么使用期限应该足够了,我会说一个小时或更多。

 类似资料:
  • 当我试图在访问令牌过期之前使用刷新令牌生成访问令牌时,系统会生成一个新令牌,并且一切正常。但是如果访问令牌过期,则请求返回。 中的方法不是使用我从以前的访问令牌中存储在字典中的标识生成访问令牌吗? 如果上一个更新令牌尚未过期,如何阻止客户端使用相同的刷新令牌请求新的访问令牌? oauthProvider.cs: RefreshTokenProvider.cs: 对不起,英语不好,希望你能理解!

  • 我一直在尝试使用简单的REST客户端以及Mozilla的REST插件。我收到“HTTP/1.1 401未授权”响应,正文中带有“{”error:“unauthorized_client”、“error_description”:“客户端未授权”}。 我已经成功获取了auth码,下面是访问令牌的POST请求,(范围r_fullprofile) https://www.linkedin.com/uas

  • https://login.microsoftonline.com/common/oauth2/v2.0/authorize?client_id=your_app_client_id&response_type=code&redirect_uri=https%3a%2f%2flogin.microsoftonline.com%2fcommon%2foauth2%2fnativeclient&res

  • 我正在使用以下示例来玩Spring Cloud OAuth2实现: https://github.com/spring-cloud-samples/authserver https://github.com/spring-cloud-samples/sso 第一个是OAuth服务器,它在对用户进行身份验证时生成JWT令牌。第二个是正在被消耗的资源。根据OAuth规范,资源将用户的身份验证转发给au

  • 当我尝试使用以下命令生成访问令牌时: 它抛出的错误为: {“error_description”:“缺少必需的参数,包括无效的参数值,参数多次。:无法检索访问令牌:appId或重定向uri与授权码不匹配或授权码过期”,“error”:“invalid_request”}。 你能在这个问题上指导我吗?