我正在使用spring oauth实现一个oauth服务器。我注意到,如果未从令牌端点过期,spring的实现将重新发出相同的访问令牌。但是,在刷新访问令牌时,行为会有所不同。每次重新发布一个新令牌,如果我在收到有效的刷新请求时重新发出相同的未过期访问令牌,是否有任何疑虑。
答案 0 :(得分:0)
在这种情况下,授权服务器可以发出新的刷新令牌 客户端必须丢弃旧的刷新令牌并将其替换为 新的刷新令牌。授权服务器可以撤销旧的 向客户端发出新的刷新令牌后刷新令牌。如果一个 发出新的刷新令牌,刷新令牌范围必须是 与客户端中包含的刷新令牌相同 请求。
似乎没有要求访问令牌是全新的。
我认为主要关注的是确保您不会更改现有令牌的到期日期。并且您正确地向客户端返回了一个准确的expires_in
属性,该属性反映了令牌何时到期。
此外,它可能会使语义混淆客户端。刷新通常在令牌过期时完成,客户端需要新的令牌。
我可以想象一些奇怪的边缘情况。客户端可以在它到期前几秒发送刷新令牌的请求(对于客户端来说是完全有效的逻辑),但仍然会收到几乎已过期的相同令牌。