如何处理protect_from_forgery以使Rails应用程序进行通信?

时间:2008-11-06 17:13:08

标签: ruby-on-rails

我有一个Rails应用程序,它会将一些数据发布到另一个Rails应用程序。出于某些原因,我不想使用ActiveResource,所以我使用了类似的东西:

  res = Net::HTTP.post_form(URI.parse('http://localhost:3030/support_requests/new'),
                                    {'from'=>'somebody', 'due'=>'2009-03-31'})

其他应用程序会抛出 InvalidAuthenticityToken ,这是有道理的,因为我没有发送任何authenticity_token。

我的问题是,我如何制作一个应用程序将正确的身份验证令牌发送给另一个?

1 个答案:

答案 0 :(得分:2)

您不必使用ActiveResources。如果您将请求发送为xml,那么它将绕过protect_from_forgery。

curl -H "Content-Type: text/xml" -d "<support-request><from>...</from></support-request>" -X POST http://localhost:3000/support_requests.xml -i

应该非常简单。