繁体   English   中英

如何从access_token反向查找用户(Rails,Devise)

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM