OAuth 2.0 授权代码流程忽略“访问和 ID token 生命周期(分钟)”配置。在响应的 expired_on 中,会考虑该配置,但不会在 access_token 的有效负载(exp-property)中考虑该配置。
OAuth 2.0 授权代码流程意味着 grant_type =authorization_code。
登录流程的“访问和 ID token 生命周期(分钟)”配置:1440 分钟
观察时间: 2019年8月2日 12:03 (GMT+2)
access_token 中的负载:
"exp": 1564740156
时间戳 = 08/02/2019 12:02 (GMT+2)
token 端点响应中的值:
"expires_on": 1564822956
时间戳 = 08/03/2019 9:02 (UTC)
当前解决方案: 作为解决方法,“访问和 ID token 生命周期(分钟)”配置设置为默认值(60 分钟)。现在,access_token 中的“exp”属性和响应中的“expires_on”属性匹配。
最佳答案
我刚刚给你测试了一下,结果符合预期。以下是我的步骤供您引用。
1.设置Aceess&ID token 生命周期
2.获取授权码
https://tonyb2ctest.b2clogin.com/tonyb2ctest.onmicrosoft.com/oauth2/v2.0/authorize?p=B2C_1_testsignupin&client_id=c3a6429c-017e-4ac7-ae02-1579b3f3fa9c&nonce=defaultNonce&redirect_uri=https%3A%2F%2Fclient1.as.com&scope=c3a6429c-017e-4ac7-ae02-1579b3f3fa9c&response_type=code&prompt=login
3.获取token
4.解码访问 token
有效期是一致的。
关于azure - 不考虑访问和 ID token 生命周期(分钟),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57329329/