刷新令牌到期后,应该是OAuth 2.0

时间:2018-03-29 23:32:55

标签: android ios oauth-2.0

我们在服务器端有C#,而在服务器端有移动应用,我们将刷新令牌到期时间设置为30天,

  

“AbsoluteRefreshTokenLifetime”:2592000

在移动端,每当我们打开应用程序时,因为我们只存储刷新令牌,并且因为访问令牌为空,我们发送一个返回401的调用,然后我们刷新我们的令牌并继续新的令牌在刷新令牌到期30天后,我们会显示会话已过期的对话框,并将用户发送到登录屏幕,以发出新的登录请求。 但是最近我们已经开始从移动客户端获得反馈,他们已经开始看到该会话已经过期了30天,大约13-14天。 是否有可能因为我们每次打开应用程序时都要求新的刷新令牌,有一天,服务器撤销所有使得它们无效的接受者? 还有什么可能是这个问题的原因?

1 个答案:

答案 0 :(得分:0)

可以刷新令牌使用设置,

RefreshTokenUsage设置 - OneTime vs ReUse

根据身份server documentation,刷新令牌可以是一次性使用或可重复使用。

如果它是可重用的(ReUse),则相同的刷新令牌对于令牌刷新有效(直到它过期)。

但是如果一次使用(OneTime),刷新令牌一旦使用就会失效。

现在在后一种情况下,您的应用程序必须以线程安全的方式执行令牌刷新。不应该存在竞争条件,以便刷新调用将使用旧的/使用过的刷新令牌。因此,请检查此设置以及检查竞争条件

  

是否有任何工具可用于了解刷新令牌的过期时间和阅读其他信息

身份提供商不允许这样做(至少是我见过的那些)。刷新令牌设置由身份服务器配置控制。所以检查部署设置。例如,它可能是与documentation

中提到的AbsoluteRefreshTokenLifetimeSlidingRefreshTokenLifetime相关的配置问题