【问题标题】:What is the best way to prevent token Sharing?防止令牌共享的最佳方法是什么?
【发布时间】:2016-12-19 00:44:34
【问题描述】:

我正在寻找阻止客户共享 oauth 令牌的想法,即创建令牌的客户只能是使用它的客户。在服务器端可以做些什么来防止该客户与其他人共享令牌?

【问题讨论】:

标签: web-services rest spring-security jwt access-token


【解决方案1】:

有几个 IETF RFC/草案试图提供一种方法来验证客户端是令牌的“所有者”。 这些规范与 OAuth2 框架协议相关,但是它们可以在任何其他令牌交换上下文中实现。

他们是:

Hawk Tokens 的另一个有趣协议:参见 https://github.com/hueniverse/hawk(Eran Hammer 是 OAuth2 贡献者)

如您所见,所有这些规范都依赖于客户端签名的请求。这似乎是验证客户端是否允许使用令牌的最佳方式。任何其他验证(例如 IP 地址、用户代理、设备 ID...)都不可靠,因为它们可能会被欺骗。

【讨论】:

    【解决方案2】:

    在我自己看来,防止令牌共享的最好方法是获取电脑的机器 ID、硬件序列号等,然后将其作为令牌。在此之前将收集机器 ID 注册到您的数据库。除了注册机,没有人可以访问您的网络服务。

    否则人员 id,可用于搜索数据库中是否存在,我的意思是注册人员 id,然后首先验证他们是否已注册,但如果此人将人员 id 提供给其他人,这可能是一个问题。

    希望对你有帮助

    【讨论】:

      猜你喜欢
      • 2012-09-11
      • 2013-03-25
      • 1970-01-01
      • 1970-01-01
      • 2011-01-07
      • 1970-01-01
      • 2014-06-25
      • 1970-01-01
      • 2020-09-14
      相关资源
      最近更新 更多