[解決済み] rails - json deviseリクエストで「WARNING: Can't verify CSRF token authenticity」。
質問
JSONリクエストで渡すCSRFトークンを取得するにはどうすればよいですか?
セキュリティ上の理由から RailsはCSRFトークンをチェックしています をチェックします。
コントローラーに
skip_before_filter :verify_authenticity_token
と書くこともできますが、CRSFの保護がなくなります(お勧めできません :-) )。
この類似の(まだ受け入れられていない) 回答 を示唆しています。
でトークンを取得する。
<%= form_authenticity_token %>
問題は、どのようにするかということです。トークンを取得するために、私のページのいずれかに最初の呼び出しを行い、それからDeviseで本当の認証を行う必要があるのでしょうか?それとも、サーバーから取得できる一回限りの情報で、(サーバー自体で手動で変更するまで)一貫して使用するのでしょうか?
どのように解決するのですか?
編集 :
Rails 4では、下のコメントで@genkilabsが提案しているものを使っています。
protect_from_forgery with: :null_session, if: Proc.new { |c| c.request.format == 'application/json' }
これは、内蔵されたセキュリティを完全にオフにするのではなく、CSRF トークンなしでサーバーに何かがヒットしたときに、存在する可能性のあるセッションを停止させるものです。
skip_before_filter :verify_authenticity_token, :if => Proc.new { |c| c.request.format == 'application/json' }
これは、適切にマークされたjson投稿/入力のCSRFチェックをオフにするものです。
例えば、iOS では NSURLRequest に以下を設定します。"parameters" はあなたのパラメータです。
[request setHTTPMethod:@"POST"];
[request setValue:@"application/json"
forHTTPHeaderField:@"content-type"];
[request setValue:@"application/json"
forHTTPHeaderField:@"accept"];
[request setHTTPBody:[NSData dataWithBytes:[parameters UTF8String]
length:[parameters length]]];
関連
-
[解決済み] SocketError (getaddrinfo: Name or service not known) - Sunspot/Solr Rails development
-
[解決済み] モデルで `save` と `save!` はいつ使うのか?
-
[解決済み] Railsのインストール時に「/usr/binディレクトリに書き込み権限がありません」というエラーが発生しますが、どのように修正すればよいですか?
-
[解決済み] なぜCSRF防止トークンをクッキーに入れるのが一般的なのですか?
-
[解決済み】警告:CSRFトークンの真正性を確認できない rails
-
[解決済み】rmagick gem install "Can't find Magick-config"...
-
[解決済み] 既存のRailsカラムのbooleanに:default => trueを追加する。
-
[解決済み] Rake 0.9.0での未定義メソッド'task'の使用について
-
[解決済み] rails3プロジェクトからgemsをアンインストールする最良の方法は何ですか?
-
[解決済み] Postgres エラー "パラメータ "TimeZone" に無効な値があります。"UTC"
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み] SocketError (getaddrinfo: Name or service not known) - Sunspot/Solr Rails development
-
[解決済み] PGError: エラー: リレーションのカラムが存在しない
-
[解決済み] Rails 3 - link_to を image_tag + text で表示する。
-
[解決済み] Railsマイグレーションで、既存のテーブルにカラムを追加する
-
[解決済み] REST JSON APIのサーバーとクライアントを分離?[クローズド]
-
[解決済み】rmagick gem install "Can't find Magick-config"...
-
[解決済み] Rake 0.9.0での未定義メソッド'task'の使用について
-
[解決済み] Rails: redirect_toで:errorがあってもflash[:error]が空なのはなぜ?
-
[解決済み] rails3プロジェクトからgemsをアンインストールする最良の方法は何ですか?
-
[解決済み] Herokuで2つのアプリの間でデータベースを共有する