Module: ChatSDK::Twilio::Signature
- Defined in:
- lib/chat_sdk/twilio/signature.rb
Class Method Summary collapse
Class Method Details
.verify!(auth_token, url, params, signature) ⇒ Object
10 11 12 13 14 15 16 17 18 19 20 |
# File 'lib/chat_sdk/twilio/signature.rb', line 10 def self.verify!(auth_token, url, params, signature) data = url + params.sort.flatten.join digest = OpenSSL::HMAC.digest("SHA1", auth_token, data) expected = Base64.strict_encode64(digest) unless Rack::Utils.secure_compare(expected, signature) raise ChatSDK::SignatureVerificationError, "Invalid Twilio signature" end true end |