【问题标题】:Custom devise api token auth自定义设计 api 令牌身份验证
【发布时间】:2014-02-23 15:50:19
【问题描述】:

找到具有令牌身份验证的注册用户的最佳方法是什么?我目前这样做的方式是查询数据库以获取应用程序发送以访问 api 的令牌。例如。 'user = User.where(:authentication_token => params[:authtoken]).first '。这安全吗?

我看到了使用warden.authenticate 的代码和另一个使用ff 的代码:客户端将电子邮件与authtoken 一起发送。然后它使用电子邮件查找用户,然后与发送的令牌和它在 db 电子邮件查询中找到的用户的令牌进行安全比较。这是设计令牌可验证要点中的解决方案,以滚动您自己的令牌身份验证。

我应该在每个请求中发送一封电子邮件以及令牌吗?

【问题讨论】:

    标签: ruby-on-rails devise


    【解决方案1】:

    出于安全考虑,设计删除了 token_authenticateable,但正如您所建议的,您仍然可以自己实现它。这个要点中有一些很好的讨论和建议:https://gist.github.com/josevalim/fb706b1e933ef01e4fb6

    具体来说,我会看一下Devise.secure_compare,它在第二个解决方案中使用,并解决了您对方法安全性的一些担忧,特别是在计时攻击方面。

    【讨论】:

    • 谢谢!是按照要点说的方式做的!
    猜你喜欢
    • 1970-01-01
    • 2014-07-06
    • 2011-03-18
    • 2023-03-12
    • 1970-01-01
    • 2020-04-04
    • 1970-01-01
    • 2012-01-29
    • 2017-12-19
    相关资源
    最近更新 更多