Ruby on rails 在rails中设计JWT中查找JWT令牌的用户
我正在我的RoR应用程序中使用Desive jwt进行基于令牌的身份验证。 客户端在头中发送一个令牌,如下所示:Ruby on rails 在rails中设计JWT中查找JWT令牌的用户,ruby-on-rails,devise,jwt,actioncable,Ruby On Rails,Devise,Jwt,Actioncable,我正在我的RoR应用程序中使用Desive jwt进行基于令牌的身份验证。 客户端在头中发送一个令牌,如下所示:Bearer#{token} 通过使用authenticate\u用户我能够验证控制器中的用户,并将登录的用户作为当前用户 当我使用Actioncable时,connection.rb中的connect方法需要从令牌中查找用户。connection.rb如下所示: module ApplicationCable class Connection < ActionCable::
Bearer#{token}
通过使用authenticate\u用户代码>我能够验证控制器中的用户,并将登录的用户作为当前用户
当我使用Actioncable时,connection.rb中的connect方法需要从令牌中查找用户。connection.rb如下所示:
module ApplicationCable
class Connection < ActionCable::Connection::Base
identified_by :current_user
def connect
token = request.env["Authorization"]
find_verified_user
end
private
def find_verified_user
if authenticate_user!
self.current_user = current_user
else
reject_unauthorized_connection
end
end
end
end
模块应用程序表
类连接
但是,authenticate\u用户代码>在这里不是有效的方法(因为它是特定于设计的)
我的问题是如何在这里找到当前用户?如何识别已在标头中发送令牌的客户端?可能Warden::JWTAuth::UserDecoder.new.call(令牌,:user,nil)
将很有帮助。它会将用户匹配返回到tokenYups,似乎有效。谢谢