VSTS API刷新令牌过期

时间:2016-10-17 23:38:40

标签: visual-studio azure-devops azure-devops-rest-api

我正在使用VSTS REST API。我按照说明使用刷新令牌来刷新访问令牌。今天早上,刷新令牌停止工作。它们会过期吗?如果访问令牌和刷新令牌都已过期,我该如何处理?我找不到任何相关内容。

供参考:https://www.visualstudio.com/en-us/docs/integrate/get-started/auth/oauth#refresh-an-expired-access-token

3 个答案:

答案 0 :(得分:2)

是的,刷新令牌将过期,您需要发送请求以重新授权以获取访问令牌并再次刷新令牌(您之前的授权步骤)。

获取新访问令牌后,先前的访问令牌和刷新令牌已过期。

答案 1 :(得分:1)

我管理实现此流程的团队。 @starain的答案是正确的,这个流程在OAuth 2规范中有详细描述。您观察到刷新令牌频繁失效@scottndecker与实现不一致。我们系统中的刷新令牌的默认生命周期为一年。用户也可以手动使令牌无效。我们显然必须尊重用户撤销之前授予的授权的权利。如果您想分享更多信息,我们当然可以研究这种行为。

答案 2 :(得分:0)

似乎当auth.token过期(一小时后)时,auth.refreshtoken也变得无效吗?那么auth.refreshtoken的目的是什么?当我在jwt.io上解码auth.refreshtoken时,它应该在2020年某个时候到期。(现在是2019年)。

虽然auth.token有效,但是我可以刷新并获取新令牌。那我应该设置一个工作在一小时内刷新令牌的想法吗?

文档声称: 如果用户的访问令牌过期,则可以使用授权流中获取的刷新令牌来获取新的访问令牌。此过程类似于将授权代码交换为访问令牌和刷新令牌的原始过程。