Liquid、JavaScriptなどに関する質問
私たちが開発しているアプリでは、アプリにアクセスした際にsigninチェックを行っています。
signinの整合性チェックには、shopify-tokenパッケージの shopifyToken.verifyHmac(query) を使用しています。
api/signin
if (!shopifyToken.verifyHmac(request.query)) { response.status(400).send('Invalid hmac parameter'); return; }
Shopifyストアの左のサイドバーからアプリに遷移した際は、整合性チェックに成功します。
しかし『Shopifyの注文管理画面 > 注文詳細画面 > サブスクリプションのリンクを押下』という動線でアプリに遷移した際は整合性チェックに失敗します。
確認したところ、失敗するケースではshopifyToken.verifyHmac() の引数として渡しているqueryが正しくAPIに渡されていませんでした。
signin APIに渡すqueryのパラメータは下記のように取得しています。
// サイドバーからアプリに遷移した場合のクエリパラメーター : /signin?embedded=1&hmac=xxxx&host=xxxx... // 注文管理画面からアプリに遷移した場合のクエリパラメーター : /signin await fetch(`${FIREBASE_FUNCTION_URL}/signin${window.location.search}`)
Shopifyの注文詳細画面からアプリに遷移する際、window.location.searchで正しくクエリパラメーターを取得できないのはShopifyとして正しい挙動なのでしょうか?
もしそれが正しい挙動の場合、注文管理ページからアプリを開く際にsigninAPI側ではどのような整合性チェックを行うのが適切でしょうか?
サポートの選択肢が増えていく中、最適となる選択の判断が難しくなっているかと存じます。今回は問題の解決に最適となるサポートの選択方法を、紹介させて頂きます。 選択肢のご紹介...
By Mirai Oct 6, 20242023年初頭、Shopifyペイメントアカウント、及びShopifyアカウント全体のセキュリティを強化する為の変更が適用されました。ユーザーのアカウントセキュリティを強化す...
By Mirai Sep 29, 2024概要: 年末/年明けは、消費者が最もショッピングを行う時期の一つです。特に、ブラックフライデー・サイバーマンデー(BFCM)は、世界中で注目される大規模なセールイベントであ...
By JapanGuru Sep 25, 2024