ruby-on-rails - 无法在Rails中验证CSRF token 的真实性

标签 ruby-on-rails csrf paypal-adaptive-payments

我正在使用PaypalAdaptive。它会正确发送ipn_notification。 ipnNotification操作方法如下-

def ipn_notification
    ipn = PaypalAdaptive::IpnNotification.new
    ipn.send_back(request.raw_post.to_json)

    print "=====================request.raw_post#{request.raw_post}=============="

    if ipn.verified?
        PaymentMailer.notify_unknown(request.raw_post).deliver
    else
        logger.info "IT DIDNT WORK"
    end
    render :nothing => true
end

但它返回错误
WARNING: Can't verify CSRF token authenticity rails

对这个问题有任何帮助。

最佳答案

在您的 Controller 中:

skip_before_filter :verify_authenticity_token, :only => [:ipn_notification]

对于快速阅读并分发-1的人(跳过重要部分:这不是来自客户端的POST调用...):
  • 是,它会跳过安全性,但请稍候...
  • 是的,这是外部网站POST请求的唯一方法
  • 是的,这很安全:接到Paypal或类似的电话时,您显然要检查参数和键。
  • 关于ruby-on-rails - 无法在Rails中验证CSRF token 的真实性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11986939/

    相关文章:

    javascript - Ruby on Rails 5中的Javascript错误“未捕获的TypeError:element.popover不是函数”

    ruby-on-rails - Rails Minitest ActionView::Template::Error: nil:NilClas 的未定义方法

    javascript - 带有 XSS 的 CRSF 将 GET 请求中的 % 解析为 %25

    paypal - 使用 Paypal 的自适应付款进行身份验证/捕获?

    ruby-on-rails - 检查外部 API 是否在线/离线

    ruby-on-rails - 如何在ruby中的特殊字符前后添加空格?

    php - 为什么codeigniter2不以更安全的方式存储csrf_hash,比如session?

    python - Angular2 和 Django : CSRF Token Headache

    PayPal iOS sdk 允许用户使用旧凭据付款,即使用户使用沙盒更改密码/pin

    ruby-on-rails - 使用 rails 和 active_paypal_adaptive_payment 执行预批准付款