Oauth 2.0 在OAuth2中,当执行刷新令牌请求以检索新的访问令牌时,以前的访问令牌是否无效?
步骤 从步骤2开始:Oauth 2.0 在OAuth2中,当执行刷新令牌请求以检索新的访问令牌时,以前的访问令牌是否无效?,oauth-2.0,Oauth 2.0,步骤 从步骤2开始: “访问令牌”:“1/fFAGRNJru1FTz70BzhT3Zg”-使用此令牌返回无效的访问令牌错误 从步骤3开始: “访问令牌”:“新建1/fFAGRNJru1FTz70BzhT3Zg\u新建”-有效 我的问题是, 这是预期的行为吗? 或 步骤2中的访问令牌是否应在到期(3600s)之前有效 否当您使用刷新令牌并刷新时,它将生成新的访问令牌并附加到刷新令牌。在此之后,旧的访问令牌将不再工作 Expires in是访问令牌的最大TTL,在此之后必须刷新,但没有刷新访问令牌的
“访问令牌”:“1/fFAGRNJru1FTz70BzhT3Zg”-使用此令牌返回无效的访问令牌错误
从步骤3开始:
“访问令牌”:“新建1/fFAGRNJru1FTz70BzhT3Zg\u新建”-有效代码>
我的问题是,
这是预期的行为吗?
或
步骤2中的访问令牌是否应在到期(3600s)之前有效
否当您使用刷新令牌并刷新时,它将生成新的访问令牌并附加到刷新令牌。在此之后,旧的访问令牌将不再工作
Expires in是访问令牌的最大TTL,在此之后必须刷新,但没有刷新访问令牌的最低阈值。(我想在shazin的回答中回应您的评论。但我没有声誉:()
AFAIK当刷新令牌用于获取新的访问令牌时,旧的访问令牌无效
我简要地查看了OAuth2规范,但没有发现任何东西表明旧的访问令牌在使用刷新令牌时无效。可能是因为假定只有在访问令牌无效时才使用刷新令牌
无论如何,这两个来自规范的参考可能会有所帮助
谢谢您的快速回答。您能给我指一下说明您所提到内容的OAuth2指南吗?我找不到这样的文档。这是否意味着或者您知道,如果您继续请求新的访问令牌
而不是使用刷新令牌
路由,是否都是访问令牌发布的有效期至到期?我将对此进行测试,但很高兴知道社区了解实际发生的情况。感谢这些非常有用的链接,我将向您发布相同的问题-这是否意味着或者您是否知道,如果您继续请求新的访问令牌
,而不是使用刷新tokens
route,所有发放的访问令牌是否在到期前都有效?我将对此进行测试,但最好知道社区了解实际发生的情况。
1. GET https://<canvas-install-url>/login/oauth2/auth?client_id=XXX&response_type=code&redirect_uri=https://example.com/oauth_complete&state=YYY&scope=<value_1>%20<value_2>%20<value_n>
2. POST /login/oauth2/token [grant_type=authorization_code]
Response:
{
"access_token": "1/fFAGRNJru1FTz70BzhT3Zg",
"token_type": "Bearer",
"user": {"id":42, "name": "Jimi Hendrix"},
"refresh_token": "tIh2YBWGiC0GgGRglT9Ylwv2MnTvy8csfGyfK2PqZmkFYYqYZ0wui4tzI7uBwnN2",
"expires_in": 3600
}
3. POST /login/oauth2/token [grant_type=refresh_token]
Response:
{
"access_token": "new_1/fFAGRNJru1FTz70BzhT3Zg",
"token_type": "Bearer",
"user": {"id":42, "name": "Jimi Hendrix"},
"refresh_token": "tIh2YBWGiC0GgGRglT9Ylwv2MnTvy8csfGyfK2PqZmkFYYqYZ0wui4tzI7uBwnN2",
"expires_in": 3600
}