Sha256: dce227ac56dcb428075dc0df09c2756a58e05c389b02f67b64610ef981a4e157
Contents?: true
Size: 691 Bytes
Versions: 10
Compression:
Stored size: 691 Bytes
Contents
# frozen_string_literal: true require 'base64' module SolidusBolt class BaseController < ::Spree::Api::BaseController skip_before_action :authenticate_user skip_before_action :verify_authenticity_token before_action :verify_bolt_request private def verify_bolt_request hmac_header = request.headers['X-Bolt-Hmac-Sha256'] signing_secret = SolidusBolt::BoltConfiguration.fetch&.signing_secret || '' computed_hmac = Base64.encode64(OpenSSL::HMAC.digest("SHA256", signing_secret, permitted_params.to_json)).strip return render json: { error: 'Unauthorized request' }, status: :unauthorized unless hmac_header == computed_hmac end end end
Version data entries
10 entries across 10 versions & 1 rubygems