【问题标题】:Rails / Devise Session Destroyed When Redirected From Paypal从 Paypal 重定向时,Rails / Devise 会话被破坏
【发布时间】:2012-10-31 13:21:32
【问题描述】:

使用 Paypal 支付标准。当用户在 paypal.com 上付款后重定向回应用程序时,已登录的用户将退出。任何帮助表示赞赏。

【问题讨论】:

    标签: ruby-on-rails devise paypal


    【解决方案1】:

    如果您在没有提供正确的 CSRF 参数的情况下发布到 Rails 应用程序,您的会话将被删除。这听起来像是正在发生的事情。解决此问题的一种方法是禁用贝宝发布操作的 CSRF 元保护
    在 Rails3 中,您可以在控制器中为特定方法禁用 csrf 令牌:


    在您的控制器中:
    1.protect_from_forgery :except => :create
    要么
    2.skip_before_filter :verify_authenticity_token
    要么
    禁用除少数方法之外的所有内容:
    3.skip_before_filter :verify_authenticity_token, :except => [:update, :create]

    【讨论】:

    • 这是问题感谢弗朗索瓦的帮助。我只需要添加 PayPal 会将数据发布到 notify_url (IPN) 和 return_url。您还需要确保这两种方法都没有开启 CSRF 参数。
    • 如果你想在多个方法上删除 CSRF,你可以使用 :only 而不是 :except ,然后根据需要指定你的方法,例如。 :only => [:method1, :method2]
    猜你喜欢
    • 1970-01-01
    • 2012-08-20
    • 2012-06-27
    • 1970-01-01
    • 2019-07-01
    • 2015-07-06
    • 2019-04-17
    • 2012-12-15
    • 2013-01-29
    相关资源
    最近更新 更多