Module: CiderCi::OpenSession::Signature

Extended by:
Signature
Included in:
Signature
Defined in:
lib/cider_ci/open_session/signature.rb

Defined Under Namespace

Classes: ValidationError

Instance Method Summary collapse

Instance Method Details

#create(secret, message) ⇒ Object



11
12
13
14
15
# File 'lib/cider_ci/open_session/signature.rb', line 11

def create(secret, message)
  OpenSSL::HMAC.digest(
    OpenSSL::Digest.new('sha256'),
    secret, message)
end

#valid?(signature, secret, message) ⇒ Boolean

Returns:

  • (Boolean)


17
18
19
# File 'lib/cider_ci/open_session/signature.rb', line 17

def valid?(signature, secret, message)
  signature == create(secret, message)
end

#validate!(signature, secret, message) ⇒ Object



21
22
23
24
25
# File 'lib/cider_ci/open_session/signature.rb', line 21

def validate!(signature, secret, message)
  unless valid?(signature, secret, message)
    fail ValidationError, 'Signature validation failed!'
  end
end