2016-11-16 00:56:29 +09:00
|
|
|
# frozen_string_literal: true
|
|
|
|
|
2016-08-18 22:49:51 +09:00
|
|
|
module ApplicationCable
|
|
|
|
class Connection < ActionCable::Connection::Base
|
|
|
|
identified_by :current_user
|
|
|
|
|
|
|
|
def connect
|
|
|
|
self.current_user = find_verified_user
|
|
|
|
end
|
|
|
|
|
|
|
|
protected
|
|
|
|
|
|
|
|
def find_verified_user
|
2016-10-04 02:19:03 +09:00
|
|
|
catch :warden do
|
|
|
|
verified_user = env['warden'].user
|
|
|
|
return verified_user if verified_user
|
2016-08-18 22:49:51 +09:00
|
|
|
end
|
2016-10-04 02:19:03 +09:00
|
|
|
|
2016-10-04 02:10:56 +09:00
|
|
|
reject_unauthorized_connection
|
2016-08-18 22:49:51 +09:00
|
|
|
end
|
|
|
|
end
|
|
|
|
end
|