私はcURLを使用して私のレールウェブサービスをテストしたいと思いますが、これまではbefore_filter :authenticate_user!
を無効にしている間にしかできませんでした。しかし、私は先験的にログインして、作成して破壊したいと思っています。Deviseを使用するRailsアプリケーションでcURLを使用して認証するにはどうすればよいですか?
私はcURLを使ってセッション情報を認証し、次の要求に使用するクッキーに保存できることを知りました。 tはそれが考案して動作させる:私のシナリオでは、電子メール/パスワードの組み合わせを使用して、ユーザーがログインするので、私がしようとしている:
curl \ -X POST \ -d '[email protected]&password=password' \ -c cookie \ http://localhost:3000/users/sign_in > out
と私が取得:ActionController::InvalidAuthenticityToken in Devise/sessionsController#create
は
は、誰かが私にアイデアを与えることができます/ 例?
ありがとうございます!
curl --user name:password http://www.domain.com
curl --user name:password -f 'key=value' http://www.domain.com
これはGET要求に対して機能しますが、POST要求に対しては動作していません。 – Altonymous
これは、Rails 3で非GETリクエストのCSRFトークンが必要なためです(http://weblog.rubyonrails.org/2011/2/8/csrf-protection-bypass-in-ruby-on-rails/) – iainbeeston
一重引用符と二重引用符を切り替えた後、何かにアクセスできない認証がステップしました。 – graywh