簡體   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