認証にデバイスを使用していますが、あなたの方法を実装すると、「不正な接続試行が拒否されました」というメッセージが表示されました
何時間も検索した結果、次のことがわかりました。
cookies.signed['user.id']
nil を返します。次のコード ブロック。
def find_verified_user
if verified_user = User.find_by(id: cookies.signed['user.id'])
verified_user
else
reject_unauthorized_connection
end
end
確認したところ、確かに Cookie がありますが、Devise によって設定された Cookie データは含まれていません。
「user.id」が実際に設定されているかどうかを確認するには、ビューでそれを上げます。これは、例外として、ユーザー ID を返します。
Signed in as @#{cookies.signed[:username]}.
- raise(cookies.signed['user.id'].inspect)
%br/
%br/
#messages
%br/
%br/
= form_for :message, url: messages_path, remote: true, id: 'messages-form' do |f|
= f.label :body, 'Enter a message:'
%br/
= f.text_field :body
%br/
= f.submit 'Send message'
私の質問/問題:
actioncable サーバーで Cookie が利用できないようです。
Devise によって設定された Cookie をケーブル サーバーと共有する方法はありますか?