2016-08-12 79 views
3

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

+0

与[防止注册用户共享密码](http://stackoverflow.com/questions/33717358/preventing-registered-users-from-sharing-passwords)类似? – holmis83

回答

1

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

它们分别是:

另一个有趣的协议鹰令牌:看https://github.com/hueniverse/hawk(叶兰锤子OAuth2用户贡献)

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

0

我个人认为,防止令牌共享的最好方法是获得一台电脑的机器ID,硬件串行等,然后将其作为令牌。在那之前将收集机ID注册到您的数据库。除注册机外,没有人可以访问您的Web服务。

其他人的身份证,可以用来搜索数据库中是否存在,我的意思是注册人的身份证,然后首先验证他们是否注册,但如果该人给那里的人身份证给其他人这可能是一个问题。

希望它可以帮助

相关问题