繁体   English   中英

InvalidAuthenticityToken Rails中Shopify应用

[英]InvalidAuthenticityToken in Rails Shopify app

我有一个使用shopify_app gem的Shopify应用。 我试图将表单发布到管理页面,但一直收到InvalidAuthenticityToken。 我正在使用Rails 5.1.6,并设置了config.action_controller.per_form_csrf_tokens = false来帮助识别问题。 我已经确认将元csrf-token,authenticity_token表单字段和authenticity_token都发布到服务器,它们都具有相同的值。

<meta name="csrf-token" content="FW84k6S5WXpepe+1gADRh+Ly1kBVWrkJohP5QYz54a35KqKZghuciwU0lIlLNRVoHjOM8peOoCqf+HXDDIlMZQ==">


<input type="hidden" name="authenticity_token" value="FW84k6S5WXpepe+1gADRh+Ly1kBVWrkJohP5QYz54a35KqKZghuciwU0lIlLNRVoHjOM8peOoCqf+HXDDIlMZQ==">


Parameters: {"utf8"=>"✓", "authenticity_token"=>"FW84k6S5WXpepe+1gADRh+Ly1kBVWrkJohP5QYz54a35KqKZghuciwU0lIlLNRVoHjOM8peOoCqf+HXDDIlMZQ==", "access_key"=>{"name"=>"A Test", "account"=>""}, "commit"=>"Save", "id"=>"2"}

控制器继承了ShopifyApp :: AuthenticatedController,我删除了所有before_actions。

有什么方法可以记录期望的authenticity_token值?

如果有人可以提供一些指导,将不胜感激。

谢谢。

我只是碰到了我的情况类似的问题。 检查以确保您的request.base_url是的预期的一个。

就我而言,我不得不强迫SSL(在配置/环境/ {开发,生产,测试} .RB)和我的代理人对Rails的情况下通过X转发 - 协议,因为在HTTP / HTTPS之间的冲突request.base_url,它被扔了CSRF错误的结果。

强制SSL的环境中配置:

config.force_ssl = true

nginx的proxy_set_header在服务器块:

proxy_set_header X-Forwarded-Proto $scheme

戴夫

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM