我正在寻找防止客户共享oauth令牌的想法,即创建令牌的客户应该只是使用它的客户。在服务器端可以做些什么来阻止该客户与其他人共享令牌?
答案 0 :(得分:1)
有几个IETF RFC /草案试图提供一种方法来验证客户是"所有者"令牌。 这些规范与OAuth2框架协议有关,但它们可以在任何其他令牌交换上下文中实现。
他们就是:
Hawk Tokens的另一个有趣的协议:见https://github.com/hueniverse/hawk(Eran Hammer是OAuth2的贡献者)
正如您将看到的,所有这些规范都依赖于客户签署的请求。这似乎是验证客户端是否允许使用令牌的最佳方法。任何其他验证,例如IP地址,用户代理,设备ID ......都不可靠,因为它们可能是欺骗性的。
答案 1 :(得分:0)
在我看来,防止令牌共享的最好方法是获取pc,硬件序列等的机器ID,然后将其作为令牌。在此之前将聚集机器ID注册到您的数据库。没有人可以访问您的Web服务,只有注册机器。
否则人员ID,可以用于搜索是否存在于数据库中,我的意思是注册人员身份然后首先验证他们是否已经注册但是如果该人将人员身份给予其他人这可能是个问题。
希望有所帮助