2014-02-23 92 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

谢谢!按照主旨说不要这样做! –

相关问题