簡単に認証機能を実装できるdevise, sorceryそれぞれのcurrent_userメソッドをActionCableにて使えるようにする方法を記載します。
前提
1:1のチャット機能を想定しております。
ActionCableの導入や説明などは割愛させて頂きます。
それぞれapp/channels/application_cable/connection.rbに記述していきます。
devise
module ApplicationCable
  class Connection < ActionCable::Connection::Base
    identified_by :current_user
    def connect
      reject_unauthorized_connection unless find_verified_user
    end
    private
      def find_verified_user
        self.current_user = env['warden'].user
      end
  end
end
identified_by...クライアントとサーバーとの関係を成立させる基礎であるコネクションを識別するためのキー
sorcery
module ApplicationCable
  class Connection < ActionCable::Connection::Base
    identified_by :current_user
    def connect
      self.current_user = find_verfied_user
    end
    protected
    def find_verfied_user
      if current_user = User.find_by_id(request.session[:user_id])
        current_user
      else
        reject_unauthorized_connection
      end
    end
  end
end
