我们有一个内置于Ruby on Rails的Web应用程序,它使用Devise进行登录和注销。我负责使用cURL的后端XML API。用户可以使用cURL和XML字符串在命令提示符下登录,发送更新等,但我不知道如何允许他们使用cURL命令注销。
UI具有发送DELETE命令的注销链接,但它使用了authenticity_token参数,我不确定如何模拟或传递cURL。 rake路由的输出将destroy_user_session显示为发送给设计的DELETE操作,我尝试使用cURL指向其路径,但这似乎没有做任何事情。
我发现的大多数相关资源似乎都特定于php或略有不同的场景。
编辑:创建一个新的控制器动作来处理这个动作会更容易吗,所以用户只需输入正确的路径,实际的DELETE / POST /代码中处理的是什么?
答案 0 :(得分:1)
如果您不特别关注存在的删除属性。您可以在设计中配置通过post或get登出。
在config / initializers / devise.rb中,您将找到config.sign_out_via = :delete
将其更改为
config.sign_out_via = :get
现在您可以通过向注销网址发送curl请求来进行log_out。
虽然我的个人建议是使用密钥验证XML API,而不是使用用户名和密码登录。
本文应该可以帮助您入门。 http://blog.joshsoftware.com/2011/12/23/designing-rails-api-using-rabl-and-devise/