class XSignature::RequestValidator
Attributes
nonce_validator[RW]
signature_validator[RW]
Public Class Methods
new(signature_validator: nil, nonce_validator: nil)
click to toggle source
# File lib/x-signature/request_validator.rb, line 6 def initialize(signature_validator: nil, nonce_validator: nil) @signature_validator = signature_validator || SignatureMultiValidator.new(HexSignatureValidator.new, Base64SignatureValidator.new) @nonce_validator = nonce_validator || RedisNonceValidator.new end
Public Instance Methods
valid?(**args)
click to toggle source
# File lib/x-signature/request_validator.rb, line 22 def valid?(**args) validate(**args) rescue XSignatureError false end
validate(**args)
click to toggle source
:secret, :signature, :client, :nonce, :method, :request_uri, :body
# File lib/x-signature/request_validator.rb, line 12 def validate(**args) data = Data.new args.each do |k, v| data[k] = v end fail InvalidNonce unless @nonce_validator.valid?(data) fail InvalidSignature unless @signature_validator.valid?(data) true end