【问题标题】:How to end session with parse-ruby-client gem如何使用 parse-ruby-client gem 结束会话
【发布时间】:2015-08-01 19:22:05
【问题描述】:

你好,我正在使用https://github.com/adelevie/parse-ruby-client/tree/v0.3.0 gem,并且没有关于如何在登录后结束会话的文档。所以我很好奇如何做到这一点。

【问题讨论】:

    标签: ruby-on-rails ruby rest parse-platform


    【解决方案1】:

    看起来 gem 不支持直接注销。您必须像https://parse.com/docs/rest/guide/#sessions-deleting-sessions 中所述手动进行注销调用

    【讨论】:

    • 有什么可以借鉴的例子吗?
    【解决方案2】:

    parse-ruby-client gem 的User 类中似乎没有logout 的任何方法

    如果你愿意,你可以写一个像下面这样的方法,它会注销当前登录的用户。

    def logout
        Parse.client.post("https://api.parse.com/1/logout", {})
        rescue Parse::ParseProtocolError
            puts "Invalid session"
    end
    

    您还可以选择通过在您的一个 ruby​​ 文件中执行类似操作来扩展 gem 提供的类

    Parse::Protocol::LOGOUT_URI = "https://api.parse.com/1/logout"
    module Parse
        class User
            def self.logout
                Parse.client.post(Parse::Protocol::LOGOUT_URI, {})
                rescue Parse::ParseProtocolError => e
                   Parse.client.logger.error e.message
            end
        end
    end
    

    之后,您应该可以调用如下方法:

    Parse::User.logout
    

    【讨论】:

    • 我实现了 def logout.. and i hit localhost:3000/login/logout 并得到了回复:209: invalid session token
    • 这是我的 login_controller.rb gist.github.com/anonymous/f11a1dea8d21fee7b40c
    • 使用我的登录代码,会自动生成会话吗?
    • 除非登录成功,否则不能调用注销。另外,您在log_in 中定义了logout 方法,我认为您需要将其取出并使其成为一个独立的方法。在您的log_in 中,您无需在异常时调用logout
    • 我在def logout 下注销,它不在log_in
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-07-31
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多