gpt4 book ai didi

ruby-on-rails - Rails Shopify 应用中的 InvalidAuthenticityToken

转载 作者:行者123 更新时间:2023-12-04 14:23:05 25 4
gpt4 key购买 nike

我有一个使用 shopify_app gem 的 Shopify 应用程序。我试图将表单发布到管理页面,但一直收到 InvalidAuthenticityToken。我正在使用 Rails 5.1.6 并设置了 config.action_controller.per_form_csrf_tokens = false 以帮助识别问题。我已经确认 meta 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"}

controller 继承了 ShopifyApp::AuthenticatedController 并且我已经移除了所有的 before_actions。

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

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

谢谢。

最佳答案

我刚刚在我的实例中遇到了类似的问题。检查以确保您的 request.base_url 是预期的。

在我的例子中,我必须强制使用 SSL(在 config/environments/{development,production,test}.rb 中)并将 X-Forwarded-Proto 从我的代理传递到 Rails 实例,因为 http 之间存在冲突/https 在 request.base_url 中,结果抛出 CSRF 错误。

在环境配置中强制使用 SSL:

config.force_ssl = true

服务器 block 中的 nginx proxy_set_header:

proxy_set_header X-Forwarded-Proto $scheme

-- 戴夫。

关于ruby-on-rails - Rails Shopify 应用中的 InvalidAuthenticityToken,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51716454/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com