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



9
10
11
12
13
# File 'lib/cider_ci/open_session/signature.rb', line 9

def create(secret, message)
  OpenSSL::HMAC.hexdigest(
    OpenSSL::Digest.new('sha1'),
    secret, message)
end

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

Returns:

  • (Boolean)


15
16
17
# File 'lib/cider_ci/open_session/signature.rb', line 15

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

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



19
20
21
22
23
# File 'lib/cider_ci/open_session/signature.rb', line 19

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