0

我正在实现 oauth2 授权服务器。

当使用 oauth2 交换刷新令牌来访问令牌(rfc6749)时,我的客户端 - 一个在实现拦截器时遇到问题的移动应用程序(由于多种原因)。

和以前一样,我的客户端执行令牌交换流程(rfc8693)并且访问令牌存储在数据库中,所以我决定返回当前访问令牌(仅当它仍然有效时)而不是每次接收刷新令牌时都发出新的访问令牌。

访问令牌的生命周期很短(大约 5 分钟),用户可以撤销访问令牌和刷新令牌。

但是这个决定是针对 rfc6749 的,它声明了新的访问令牌

授权服务器对客户端进行身份验证并验证刷新令牌,如果有效,则发出新的访问令牌(以及可选的新刷新令牌)

我想知道这个决定是否会导致任何问题?

4

1 回答 1

1

正如您所指出的,这本身就是违反规范的。规范的重点是对刷新令牌请求做一些有用的事情。在您的情况下,刷新令牌请求没有任何意义,因为实际上并未刷新访问令牌。因此,对于您的用例,更好的方法是不要让客户端在访问令牌仍然有效时刷新它。但是,建议的方法不会导致任何问题,除了违反规范以及可能与某些客户端无法互操作。

于 2020-11-23T16:54:00.513 回答