Class: Clicksign::Webhooks::HMAC
- Inherits:
-
Struct
- Object
- Struct
- Clicksign::Webhooks::HMAC
- Defined in:
- lib/clicksign/webhooks/hmac.rb
Instance Attribute Summary collapse
-
#request ⇒ Object
Returns the value of attribute request.
Instance Method Summary collapse
- #data ⇒ Object
- #digest ⇒ Object
- #hmac ⇒ Object
- #hmac_header ⇒ Object
- #valid? ⇒ Boolean
- #validate! ⇒ Object
Instance Attribute Details
#request ⇒ Object
Returns the value of attribute request
3 4 5 |
# File 'lib/clicksign/webhooks/hmac.rb', line 3 def request @request end |
Instance Method Details
#data ⇒ Object
16 17 18 |
# File 'lib/clicksign/webhooks/hmac.rb', line 16 def data @data = request.body.read end |
#digest ⇒ Object
12 13 14 |
# File 'lib/clicksign/webhooks/hmac.rb', line 12 def digest @digest = OpenSSL::Digest::SHA256.new end |
#hmac ⇒ Object
20 21 22 |
# File 'lib/clicksign/webhooks/hmac.rb', line 20 def hmac @hmac = OpenSSL::HMAC.hexdigest(digest, ENV['CLICKSIGN_HMAC_KEY'], data) end |
#hmac_header ⇒ Object
24 25 26 |
# File 'lib/clicksign/webhooks/hmac.rb', line 24 def hmac_header @hmac_header = request.headers['Content-Hmac'] || '' end |
#valid? ⇒ Boolean
8 9 10 |
# File 'lib/clicksign/webhooks/hmac.rb', line 8 def valid? hmac_header.include?(hmac) end |
#validate! ⇒ Object
4 5 6 |
# File 'lib/clicksign/webhooks/hmac.rb', line 4 def validate! raise InvalidHMACError unless valid? end |