2012-04-27 14 views
3

私は第三者向けにOAuth 2 APIを提供するためにDoorkeeper gemでRails 3.2を使用しています。Rails/Doorkeeper:CSRFトークンの真正性を確認できません

WARNING:CSRFトークン信憑性を検証することはできません

成功したのOAuth2を経由して認証されたクライアントアプリ私は、アプリの外から私のREST APIを使用している場合、この警告を得続けます。なぜこの警告が出るのですか?そして、このcsrfを外部APIに適切に実装する方法は?

+2

ステートレスAPIには、「csrf」を実装しないでください。ステートレスのコンセプトをすべて破っています。 –

+0

私はAPIのためのcsrfを実装していません、私はちょうどRailsからこの警告を得ています。特定のメソッドのcsrf有効性チェックをスキップできますか? –

答えて

6

ApplicationControllerからprotect_from_forgeryを削除します(またはAPI呼び出しのために削除します)。

+0

アプリケーションコントローラからprotect_from_forgeryを削除することは、アプリケーションをCSRF攻撃に開放するので安全ではありません。 –

2

オープンしたいコントローラのCSRF保護をオフにしてください。これはApplicationControllerからprotect_from_forgeryを削除するよりも安全です。この場合、私はあなたのニーズに合わせて変更することができますが、例としてcreateアクションを使用しています。

class MessagesController < ApplicationController 
    protect_from_forgery with: :null_session, only: [:create] 
    # doorkeeper_for :create 
end 

ドアキーパーによる認証の場合は、ドアキーパラインのコメントを外してください。

オープンする必要があるのは...

関連する問題