Rails 認証トークンと Devise のログイン/ログアウトに問題があります。
バックボーンjsを使用して単一ページアプリを構築しているため、ajaxを使用してユーザーのログイン/ログアウトを行っています。これが私が観察しているものであり、なぜこれが起こっているのか正確にはわかりません。
レイアウトに csrf_meta_tags があります。ページが読み込まれ、ログイン ボタンをクリックしてフォームに入力し、送信すると、ログインに成功しました。ログインしたユーザーができるはずのことを実行できます。
ここで、ajax 経由で DELETE リクエストを送信するログアウト ボタンをクリックすると、正常にログアウトされます。
上記のすべてのプロセスは単一のページ上にあり、ページのリロードはすべて ajax で発生しません。
もう一度ログインをクリックしてフォームに入力すると、ajax リクエストが送信され、ログインしますが、サーバー コンソールに警告メッセージが表示されます。
WARNING: Can't verify CSRF token authenticity
そもそも、(レール)がCSRFトークンの信頼性を検証できなかった場合、なぜ(考案)ログインしたのですか?
そして今、ログインしたユーザーができるはずのことをしようとすると失敗し、フォームの投稿がdeviseからのエラーメッセージで失敗します
401 Unauthorized {"error":"You need to sign in or sign up before continuing."}
サーバーコンソールの警告
WARNING: Can't verify CSRF token authenticity
この時点でログアウトしています。自分でページを更新すると、ログインしていないことがわかります。
何が起こっている ?
初めてログアウトした後、最初の認証トークンの有効期限は切れますか?
私は使っている
rails (3.2.3)
devise (2.1.0)
前もって感謝します :)