2017-05-06 9 views
0

誰かが私がasp.netでshopifyウェブフック要求を検証するためにどのように

===============が

ていることを確認するにはHMACを計算しない方法を説明することができますShopifyからの要求で、次のアルゴリズムに従ってHMACダイジェストを計算し、それをX-Shopify-Hmac-SHA256ヘッダーの値と比較します。一致した場合、WebhookがShopifyから送信され、データが漏洩していないことを確認できます。

各Webhookリクエストには、リクエストで送信されたデータとともに、アプリケーションの共有秘密情報を使用して生成されたX-Shopify-Hmac-SHA256ヘッダーが含まれています。

は私が秘密鍵を持っている...私はHMAC

+0

また、正しい秘密鍵を持っていることを確認してください。二つあります。 https://stackoverflow.com/a/44763029/1455074 – tschwab

+0

正しい「秘密鍵」を見つけられましたか?パートナーダッシュボードで共有秘密鍵が見つかりません。 – HymnZ

+0

@tschwab、あなたがリンクされた質問で言及したことは、アプリが公開アプリの場合、私の店がインストールされている各店舗からどのように「--- MY_REAL_SHARED_SECRET ---」を取得するのですか?私は私には躊躇しないように思えます。あなたが言ったことは、店舗管理者が手動で作成したwebhooksでは動作しますが、APIを使用する公開アプリで作成されたものではありません。この上の任意の光? – HymnZ

答えて

0

最も簡単な方法を生成するための要求に秘密鍵+データを組み合わせることができますどのようにShopifySharp Libraryを使用することです。 Nugetパッケージを使用してプロジェクトにインストールすることができます。

これはウェブフックを検証するためのShopifySharpのウェブサイトから取得した例である:あなたがShopifySharpを使用しない場合

NameValueCollection requestHeaders = Request.Headers; 
Stream inputStream = Request.InputStream; 

if(AuthorizationService.IsAuthenticWebhook(requestHeaders, inputStream, shopifySecretKey)) 
{ 
    //Webhook is authentic. 
} 
else 
{ 
    //Webhook is not authentic and should not be acted on. 
} 

、あなたは彼らがsource codeでそれを実装する方法を確認することができます。

関連する問題