module Signet::OAuth1::HMACSHA1

Public Class Methods

generate_signature(\ base_string, client_credential_secret, token_credential_secret) click to toggle source
# File lib/signet/oauth_1/signature_methods/hmac_sha1.rb, line 7
def self.generate_signature \
    base_string, client_credential_secret, token_credential_secret

  # Both the client secret and token secret must be escaped
  client_credential_secret =
    Signet::OAuth1.encode client_credential_secret
  token_credential_secret =
    Signet::OAuth1.encode token_credential_secret
  # The key for the signature is just the client secret and token
  # secret joined by the '&' character.  If the token secret is omitted,
  # the '&' must still be present.
  key = [client_credential_secret, token_credential_secret].join "&"
  Base64.encode64(OpenSSL::HMAC.digest(
                    OpenSSL::Digest.new("sha1"), key, base_string
                  )).strip
end