Files
ruby-sea-battle/main-server/app/channels/application_cable/connection.rb
T

22 lines
510 B
Ruby

module ApplicationCable
class Connection < ActionCable::Connection::Base
identified_by :current_user
def connect
self.current_user = find_user
reject_unauthorized_connection unless current_user
end
private
def find_user
token = request.params[:token].presence ||
request.headers["Authorization"]&.split(" ")&.last
return unless token
decoded = JwtService.decode(token)
User.find_by(id: decoded[:user_id]) if decoded
end
end
end