我有一个 Rails 应用程序App2
在端口 4000 上侦听,另一个 Rails 应用程序App1
在端口 3000 上侦听。App2
定义了自定义 API 调用,只能由经过身份验证的用户使用。
运行一个 rake 任务,App1
它使用HTTParty发出 API 请求,如下所示:
response = HTTParty.post("http://localhost:4000/users/sign_in",
:basic_auth => {:user => {:email => "<User email>", :password => "<Password>"}},
:headers => { 'X-Requested-With' => 'XMLHttpRequest',
'User-Agent' => 'Mozilla/5.0 (iPhone; U; ru; CPU iPhone OS 4_2_1 like Mac OS X; ru) AppleWebKit/533.17.9 (KHTML, like Gecko) Version/5.0.2 Mobile/8C148a Safari/6533.18.5',
'ContentType' => 'application/json' })
的输出response.body
显示用户未通过身份验证!
在分析错误时,开发日志显示:
WARNING: Can't verify CSRF token authenticity
请帮助我了解如何通过 Rake 任务的 POST 请求发送 CSRF 令牌。