Sha256: d09e14f4e407114d14c3197b7c774ce23a3ee045835b7880d60999bb63503aa7
Contents?: true
Size: 608 Bytes
Versions: 43
Compression:
Stored size: 608 Bytes
Contents
# frozen_string_literal: true module ShopifyApp module PayloadVerification extend ActiveSupport::Concern private def shopify_hmac request.headers['HTTP_X_SHOPIFY_HMAC_SHA256'] end def hmac_valid?(data) secrets = [ShopifyApp.configuration.secret, ShopifyApp.configuration.old_secret].reject(&:blank?) secrets.any? do |secret| digest = OpenSSL::Digest.new('sha256') ActiveSupport::SecurityUtils.secure_compare( shopify_hmac, Base64.strict_encode64(OpenSSL::HMAC.digest(digest, secret, data)) ) end end end end
Version data entries
43 entries across 43 versions & 2 rubygems