刷新令牌宽限期的安全影响

问题描述

我有一个使用 django-oauth-toolkit 构建的 OAuth2 服务器,默认情况下,刷新令牌在使用时会立即撤销。这意味着,如果客户端使用刷新令牌请求新的访问令牌,但由于网络中断而未收到响应,他们将被迫重新进行身份验证。

库提供了设置 REFRESH_TOKEN_GRACE_PERIOD_SECONDS,它是在使用刷新令牌与其撤销之间等待的时间量。如果客户端使用刷新令牌但未收到响应,则原始刷新令牌对 REFRESH_TOKEN_GRACE_PERIOD_SECONDS 仍然有效,这使客户端无需重新进行身份验证即可获得新的访问令牌。

据我所知,在使用时立即撤销刷新令牌的目的是防止 replay attacks,但由于此授权服务器只使用 https,it seems this is a sufficient defense against this type of attack

刷新令牌撤销宽限期是否会导致其他漏洞?永不撤销刷新令牌会产生什么影响?

解决方法

RFC 7009 https://tools.ietf.org/html/rfc7009#section-5

中提到了安全注意事项

如果 TLS (HTTPS) 没有正确配置/管理(不安全的 TLS 版本、密码、中间人、过期的证书、证书颁发机构的问题等),您也可能受到攻击。

您的服务器上可能存在资源耗尽的问题。刷新令牌需要一些资源 - 例如内存,数据库记录,...

相关问答

依赖报错 idea导入项目后依赖报错,解决方案:https://blog....
错误1:代码生成器依赖和mybatis依赖冲突 启动项目时报错如下...
错误1:gradle项目控制台输出为乱码 # 解决方案:https://bl...
错误还原:在查询的过程中,传入的workType为0时,该条件不起...
报错如下,gcc版本太低 ^ server.c:5346:31: 错误:‘struct...