如何使用cURL在使用Devise的Rails应用程序上进行身份验证?

Mar*_*tuc 14 curl devise ruby-on-rails-3

我想使用cURL测试我的rails web服务,但到目前为止,我只能在停用时执行此操作before_filter :authenticate_user!.但我想先验先登录,然后创建,销毁等.

我看到使用cURL你可以在cookie中验证并保存会话信息,用于以下请求,但我无法使用Devise:在我的场景中,用户使用电子邮件/密码组合登录所以我在尝试:

curl \
  -X POST \
  -d 'email=email@example.com&password=password' \
  -c cookie \
  http://localhost:3000/users/sign_in > out

我得到: ActionController::InvalidAuthenticityToken in Devise/sessionsController#create

有人可以给我一个想法/一个例子吗?

谢谢!

Mar*_*tuc 23

这有效:

认证:

curl -H 'Content-Type: application/json' \
  -H 'Accept: application/json' \
  -X POST http://localhost:3000/users/sign_in \
  -d "{'user' : { 'email' : 'test@example.com', 'password' : 'password'}}" \
  -c cookie

节目:

curl -H 'Content-Type: application/json' \
  -H 'Accept: application/json' \
  -X GET http://localhost:3000/pages/1.xml \
  -b cookie

  • 在我切换单引号和双引号后,身份验证步骤对我有用,但无法访问任何内容. (8认同)