Sha256: fb0858ca517831c7aa2818047c03a05388e2a08d520ff1cde60278a4d6d13024
Contents?: true
Size: 648 Bytes
Versions: 15
Compression:
Stored size: 648 Bytes
Contents
# frozen_string_literal: true module ShopifyApp class ExtensionVerificationController < ActionController::Base protect_from_forgery with: :null_session before_action :verify_request private def verify_request hmac_header = request.headers['HTTP_X_SHOPIFY_HMAC_SHA256'] request_body = request.body.read secret = ShopifyApp.configuration.secret digest = OpenSSL::Digest.new('sha256') expected_hmac = Base64.strict_encode64(OpenSSL::HMAC.digest(digest, secret, request_body)) head(:unauthorized) unless ActiveSupport::SecurityUtils.secure_compare(expected_hmac, hmac_header) end end end
Version data entries
15 entries across 15 versions & 1 rubygems