Class: DefraRubyGovpay::WebhookBodyValidatorService

Inherits:
Object
  • Object
show all
Defined in:
lib/defra_ruby_govpay/services/webhook_body_validator_service.rb

Defined Under Namespace

Classes: ValidationFailure

Class Method Summary collapse

Class Method Details

.run(body:, signature:) ⇒ Object

Raises:



7
8
9
10
11
12
13
14
# File 'lib/defra_ruby_govpay/services/webhook_body_validator_service.rb', line 7

def self.run(body:, signature:)
  raise ValidationFailure, "Missing expected signature" if signature.blank?

  body_signatures = WebhookSignatureService.run(body:)
  return true if body_signatures[:front_office] == signature || body_signatures[:back_office] == signature

  raise ValidationFailure, "digest/signature header mismatch"
end