Web services 防止令牌共享的最佳方法是什么?

Web services 防止令牌共享的最佳方法是什么?,web-services,rest,spring-security,jwt,access-token,Web Services,Rest,Spring Security,Jwt,Access Token,我正在寻找防止客户共享oauth令牌的方法,即创建令牌的客户应该是使用它的客户。在服务器端,如何防止该客户与其他人共享令牌?在我看来,防止令牌共享的最佳方法是获取pc的机器id、硬件序列号等,然后将其作为令牌。在此之前,将收集计算机id注册到数据库中。除了注册机之外,没有人可以访问您的web服务 否则,可以使用person id搜索数据库中是否存在,我的意思是注册person id,然后首先验证他们是否已注册,但如果此人将person id提供给其他人,这可能是一个问题 希望能有所帮助。有几个I

我正在寻找防止客户共享oauth令牌的方法,即创建令牌的客户应该是使用它的客户。在服务器端,如何防止该客户与其他人共享令牌?

在我看来,防止令牌共享的最佳方法是获取pc的机器id、硬件序列号等,然后将其作为令牌。在此之前,将收集计算机id注册到数据库中。除了注册机之外,没有人可以访问您的web服务

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


希望能有所帮助。

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

它们是:

  • MAC代币:(似乎已被放弃)
  • POP代币:
另一个有趣的协议是Hawk令牌:see(Eran Hammer是OAuth2的贡献者)

正如您将看到的,所有这些规范都依赖于客户机签署的请求。这似乎是验证允许客户端使用令牌的最佳方法。任何其他验证,如IP地址、用户代理、设备ID。。。不可靠,因为它们可能被欺骗。

类似于?