【问题标题】:How to protect an oauth2 api from deleted account valid tokens如何保护 oauth2 api 免受已删除帐户有效令牌的影响
【发布时间】:2015-01-09 15:31:08
【问题描述】:

我有一个服务器,它通过 ouath2 身份验证保护其 api。

场景:

  1. 用户请求令牌(密码流)。
  2. 用户停用\删除其帐户。
  3. 令牌仍然有效(我知道它可能使令牌无效,但还有另一种情况,用户从 2 个不同的客户端(浏览器\移动设备)或 2 个不同的浏览器生成令牌 -> 收到两个有效令牌 -> 无法使令牌无效2 个不同的令牌,所以一个仍然有效)。

我应该如何保护我的 API 免受其所有者不再相关的有效令牌的影响?

  1. 我应该在帐户停用\删除时刻使与用户相关的所有令牌失效吗?不确定将所有用户的令牌存储在数据库中是否是个好主意。
  2. 在令牌验证后,我是否应该检查用户是否仍然在进行每个操作?对于这样的最终情况,这是一笔很大的开销。

*在删除所有用户相关数据的情况下没有问题(api的响应将为空),但也有没有删除这些数据的情况。

谢谢!

【问题讨论】:

    标签: authentication oauth-2.0


    【解决方案1】:

    您可以缩短访问令牌的生命周期并将它们与刷新令牌结合使用。您的信息只会与访问令牌的生命周期一样陈旧,因此请将其设置为您认为可以接受的任何值,代价是您的客户端必须返回授权服务器以获取新的访问令牌(这是进行已删除的帐户检查)。请参阅:Why Does OAuth v2 Have Both Access and Refresh Tokens?

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2014-10-21
      • 1970-01-01
      • 2014-04-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2010-10-01
      相关资源
      最近更新 更多