方案是:您具有较长时间有效的刷新令牌以及在较短时间段内有效的访问令牌 .
设置:有一个客户端,应用程序服务器和身份验证服务器 .
客户端存储访问令牌 .
应用程序服务器存储刷新令牌 .
验证服务器分发刷新访问令牌 .
其中一个优点是被盗访问令牌只能在有效时使用 .
假设黑客窃取了有效30分钟的访问令牌 . 当黑客在30分钟后使用有效但过期的被盗访问令牌发出请求时,应用程序服务器使用刷新令牌刷新它,因此黑客获得新的有效且未过期的访问令牌 .
如何防止这种情况?
应用程序服务器不应具有刷新令牌 .
在OAuth2.0中, client 应存储刷新令牌 .
client
要使用刷新令牌来创建新的访问令牌, client 应将刷新令牌(以及客户端ID和密钥)呈现给授权服务器 .
除非,否则无法阻止黑客刷新令牌
原始用户重置密码,AUTH服务器删除了之前的所有刷新令牌 .
减少刷新令牌的有效时间,使其更接近于accessstoken的有效性 .
在这两种情况下,我们都依赖于使刷新令牌无效 .
2 回答
应用程序服务器不应具有刷新令牌 .
在OAuth2.0中,
client
应存储刷新令牌 .要使用刷新令牌来创建新的访问令牌,
client
应将刷新令牌(以及客户端ID和密钥)呈现给授权服务器 .除非,否则无法阻止黑客刷新令牌
原始用户重置密码,AUTH服务器删除了之前的所有刷新令牌 .
减少刷新令牌的有效时间,使其更接近于accessstoken的有效性 .
在这两种情况下,我们都依赖于使刷新令牌无效 .