Sha256: 9c2a56d511777ed1afe777b31a461597f2ed5e67088d733bfec484f99f11d4f9
Contents?: true
Size: 914 Bytes
Versions: 3
Compression:
Stored size: 914 Bytes
Contents
module Pingpp module Webhook def self.verify?(request) if !Pingpp.pub_key return false end raw_data = nil if request.respond_to?('raw_post') raw_data = request.raw_post elsif request.respond_to?('body') raw_data = request.body else return false end headers = nil if request.respond_to?('headers') headers = request.headers elsif request.respond_to?('header') headers = request.header else return false end formated_headers = Util.format_headers(headers) return false if !formated_headers.has_key?(:x_pingplusplus_signature) signature = formated_headers[:x_pingplusplus_signature] rsa_public_key = OpenSSL::PKey.read(Pingpp.pub_key) return rsa_public_key.verify(OpenSSL::Digest::SHA256.new, Base64.decode64(signature), raw_data) end end end
Version data entries
3 entries across 3 versions & 1 rubygems
Version | Path |
---|---|
pingpp-2.0.15 | lib/pingpp/webhook.rb |
pingpp-2.0.14 | lib/pingpp/webhook.rb |
pingpp-2.0.13 | lib/pingpp/webhook.rb |