1234567891011121314151617181920212223242526272829303132333435 |
- module ApplicationCable
- class Connection < ActionCable::Connection::Base
- identified_by :current_user
- identified_by :sid
-
-
-
-
-
- def connect
- return if session_id.blank?
- self.current_user = find_verified_user
- self.sid = session_id
- end
- private
- def find_verified_user
- private_id = Rack::Session::SessionId.new(session_id).private_id
- session = ActiveRecord::SessionStore::Session.find_by(session_id: private_id)
- return if !session
- User.find_by(id: session.data['user_id'])
- end
- def session_id
- @session_id ||= cookies[Zammad::Application::Initializer::SessionStore::SESSION_KEY]
- end
- end
- end
|