【发布时间】:2015-01-09 15:31:08
【问题描述】:
我有一个服务器,它通过 ouath2 身份验证保护其 api。
场景:
- 用户请求令牌(密码流)。
- 用户停用\删除其帐户。
- 令牌仍然有效(我知道它可能使令牌无效,但还有另一种情况,用户从 2 个不同的客户端(浏览器\移动设备)或 2 个不同的浏览器生成令牌 -> 收到两个有效令牌 -> 无法使令牌无效2 个不同的令牌,所以一个仍然有效)。
我应该如何保护我的 API 免受其所有者不再相关的有效令牌的影响?
- 我应该在帐户停用\删除时刻使与用户相关的所有令牌失效吗?不确定将所有用户的令牌存储在数据库中是否是个好主意。
- 在令牌验证后,我是否应该检查用户是否仍然在进行每个操作?对于这样的最终情况,这是一笔很大的开销。
*在删除所有用户相关数据的情况下没有问题(api的响应将为空),但也有没有删除这些数据的情况。
谢谢!
【问题讨论】: