簡體   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