![](/img/trans.png)
[英]Can't retrieve access_token, refresh_token from Omniauth authentication strategy with Devise, Rails 4
[英]How to reverse look up a user from an access_token (Rails, Devise)
我的Rails应用程序具有登录/注销功能,并在登录后返回有效的access_token。
我正在使用这个宝石
https://github.com/lynndylanhurley/devise_token_auth
但是如何在后续请求中使用此access_token? 例如:
abc.com/action?access_token=123
我想在我的控制器和动作方法中,我应该能够从这个access_token中找到用户,但我不确定是否可以使用Devise。
如果我也传入:client或:uid以及:access_token,我可以通过执行以下操作来验证此令牌:
user = User.find_by_uid uid
user.valid_token? access_token, client
是否可以通过他/她的access_token单独查找用户?
谢谢。
根据文件:
access-token这是每个请求的用户密码。 该值的散列版本存储在数据库中以供稍后比较。 应在每个请求中更改此值 。
它似乎是使用BCrypt的标记化,并且每次都会更改安全性。
此外,它们不允许您从令牌中单独执行DB中的用户查找安全漏洞。 您可以选择以创造性方式存储UID,也可以在会话中存储查找,并在application_controller.rb
中编写一个方法,然后对该数据执行某些逻辑。
这在这里提到:
uid用于标识用户的唯一值。 这是必要的,因为通过访问令牌在DB中搜索用户将使API容易受到计时攻击 。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.