2014-02-23 90 views
2

找到具有令牌驗證的註冊用戶的最佳方法是什麼?我目前的做法是查詢數據庫以獲取應用程序發送的用於訪問API的令牌。例如。 'user = User.where(:authentication_token => params [:authtoken])。first'。這安全嗎?自定義設計API令牌驗證

我見過使用warden.authenticate和另一個執行ff的代碼:客戶端發送電子郵件以及authtoken。然後,它使用電子郵件查找用戶,然後與發送的令牌和在數據庫電子郵件查詢中找到的用戶令牌進行安全比較。這是設計令牌可驗證要點的解決方案,用於展示您自己的令牌驗證。

我是否應該在每個請求中隨同令牌一起發送電子郵件?

回答

2

由於安全考慮,設計刪除token_authenticateable,但正如你所建議的,你仍然可以自己實現它。有一些很好的討論和建議,在此要點:在Devise.secure_compare這是在第二個解決方案中使用和照顧你的一些顧慮在你的方法的安全性,特別是關於https://gist.github.com/josevalim/fb706b1e933ef01e4fb6

具體來說,我會看看定時攻擊。

+0

謝謝!按照主旨說不要這樣做! –

相關問題