module Loadrunner::SignatureHelper
Public Instance Methods
generate_signature(payload_body)
click to toggle source
# 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()
click to toggle source
# File lib/loadrunner/signature_helper.rb, line 17 def secret_token ENV['GITHUB_SECRET_TOKEN'] end
verify_signature(payload_body, signature)
click to toggle source
# 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