Module: Loadrunner::SignatureHelper
- Included in:
- Server
- Defined in:
- lib/loadrunner/signature_helper.rb
Instance Method Summary collapse
- #generate_signature(payload_body) ⇒ Object
- #secret_token ⇒ Object
- #verify_signature(payload_body, signature) ⇒ Object
Instance Method Details
#generate_signature(payload_body) ⇒ Object
13 14 15 |
# File 'lib/loadrunner/signature_helper.rb', line 13 def generate_signature(payload_body) 'sha1=' + OpenSSL::HMAC.hexdigest(OpenSSL::Digest.new('sha1'), secret_token, payload_body) end |
#secret_token ⇒ Object
17 18 19 |
# File 'lib/loadrunner/signature_helper.rb', line 17 def secret_token ENV['GITHUB_SECRET_TOKEN'] end |
#verify_signature(payload_body, signature) ⇒ Object
3 4 5 6 7 8 9 10 11 |
# File 'lib/loadrunner/signature_helper.rb', line 3 def verify_signature(payload_body, signature) return :no_client if secret_token and !signature return :no_server if !secret_token and signature return :ok if !secret_token and !signature expected_signature = generate_signature payload_body signature_match = Rack::Utils.secure_compare(expected_signature, signature) return signature_match ? :ok : :mismatch end |