OAuth:在刷新时重新发出相同的访问令牌

时间:2017-01-13 16:05:27

标签: oauth-2.0 spring-oauth2

我正在使用spring oauth实现一个oauth服务器。我注意到,如果未从令牌端点过期,spring的实现将重新发出相同的访问令牌。但是,在刷新访问令牌时,行为会有所不同。每次重新发布一个新令牌,如果我在收到有效的刷新请求时重新发出相同的未过期访问令牌,是否有任何疑虑。

1 个答案:

答案 0 :(得分:0)

OAuth Spec section-6指定:

  

在这种情况下,授权服务器可以发出新的刷新令牌      客户端必须丢弃旧的刷新令牌并将其替换为      新的刷新令牌。授权服务器可以撤销旧的      向客户端发出新的刷新令牌后刷新令牌。如果一个      发出新的刷新令牌,刷新令牌范围必须是      与客户端中包含的刷新令牌相同      请求。

似乎没有要求访问令牌是全新的。

我认为主要关注的是确保您不会更改现有令牌的到期日期。并且您正确地向客户端返回了一个准确的expires_in属性,该属性反映了令牌何时到期。

此外,它可能会使语义混淆客户端。刷新通常在令牌过期时完成,客户端需要新的令牌。

我可以想象一些奇怪的边缘情况。客户端可以在它到期前几秒发送刷新令牌的请求(对于客户端来说是完全有效的逻辑),但仍然会收到几乎已过期的相同令牌。