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