diff --git a/lib/AuthHelper.php b/lib/AuthHelper.php index 3a6ff27..e879964 100644 --- a/lib/AuthHelper.php +++ b/lib/AuthHelper.php @@ -32,6 +32,23 @@ public static function getCurrentUrl() return "$protocol://$_SERVER[HTTP_HOST]$_SERVER[REQUEST_URI]"; } + /** + * Build a query string from a data array + * This is a replacement for http_build_query because that returns an url-encoded string. + * + * @param array $data Data array + * + * @return array + */ + public static function buildQueryString($data) + { + $paramStrings = []; + foreach ($data as $key => $value) { + $paramStrings[] = "$key=$value"; + } + return join('&', $paramStrings); + } + /** * Verify if the request is made from shopify using hmac hash value * @@ -61,7 +78,7 @@ public static function verifyShopifyRequest() unset($data['signature']); } //Create data string for the remaining url parameters - $dataString = http_build_query($data); + $dataString = self::buildQueryString($data); $realHmac = hash_hmac('sha256', $dataString, $sharedSecret);