【问题标题】:Log out of app with cURL使用 cURL 注销应用程序
【发布时间】:2014-09-23 18:07:12
【问题描述】:

我们有一个使用 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/无论在代码中处理什么?

【问题讨论】:

    标签: ruby-on-rails ruby curl devise logout


    【解决方案1】:

    如果您不特别关注存在的删除属性。您可以在 devise 中配置通过 post 或 get 注销。

    在 config/initializers/devise.rb 你会发现

    config.sign_out_via = :delete
    

    改成

    config.sign_out_via = :get
    

    现在您应该可以通过向注销 url 发送 curl 请求来注销。

    虽然我个人的建议是使用密钥而不是使用用户名和密码登录来验证 XML API。

    这篇文章应该可以帮助您入门。 http://blog.joshsoftware.com/2011/12/23/designing-rails-api-using-rabl-and-devise/

    【讨论】:

    • 我不介意使用 DELETE,我只是不知道如何使它工作。不能只用 cURL 向服务器发送正确的请求吗?
    猜你喜欢
    • 1970-01-01
    • 2014-02-15
    • 1970-01-01
    • 2021-08-09
    • 2013-08-19
    • 2016-02-07
    • 2016-09-03
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多