2016-08-12 122 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服務。

其他人的身份證,可以用來搜索數據庫中是否存在,我的意思是註冊人的身份證,然後首先驗證他們是否註冊,但如果該人給那裏的人身份證給其他人這可能是一個問題。

希望它可以幫助

相關問題