Sha256: 9abb5dee0f349653e3bade17d02622219712eeff5cc5ec3b84c96d549bb2a2f3
Contents?: true
Size: 887 Bytes
Versions: 1
Compression:
Stored size: 887 Bytes
Contents
module DiscoApp module CarrierRequestController extend ActiveSupport::Concern included do before_action :verify_carrier_request_signature end private def verify_carrier_request_signature unless carrier_request_signature_is_valid? head :unauthorized end end def carrier_request_signature_is_valid? return true unless Rails.env.production? data = request.body.read.to_s hmac_header = request.headers['HTTP_X_SHOPIFY_HMAC_SHA256'] digest = OpenSSL::Digest::Digest.new('sha256') calculated_hmac = Base64.encode64(OpenSSL::HMAC.digest(digest, ShopifyApp.configuration.secret, data)).strip request.body.rewind calculated_hmac == hmac_header end def carrier_request_domain request.headers['HTTP_X_SHOPIFY_SHOP_DOMAIN'] end end end
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
disco_app-0.4.4 | app/controllers/disco_app/carrier_request_controller.rb |