Class: OAuthSimple::SignatureMethodHMACSHA1
- Inherits:
-
SignatureMethod
- Object
- SignatureMethod
- OAuthSimple::SignatureMethodHMACSHA1
- Defined in:
- lib/oauth-simple/signature_method_hmac_sha1.rb
Class Method Summary collapse
- .build_signature(request, consumer, token) ⇒ Object
- .build_signature_base_string(request, consumer, token) ⇒ Object
- .calculate_digest(key, data) ⇒ Object
- .oauth_name ⇒ Object
Methods inherited from SignatureMethod
Class Method Details
.build_signature(request, consumer, token) ⇒ Object
40 41 42 43 44 |
# File 'lib/oauth-simple/signature_method_hmac_sha1.rb', line 40 def self.build_signature(request, consumer, token) key, raw = build_signature_base_string(request, consumer, token) hashed = calculate_digest(key, raw) return [hashed].pack('m').chomp.gsub(/\n/, '') end |
.build_signature_base_string(request, consumer, token) ⇒ Object
28 29 30 31 32 33 34 35 36 37 38 |
# File 'lib/oauth-simple/signature_method_hmac_sha1.rb', line 28 def self.build_signature_base_string(request, consumer, token) sig = [ CGI.escape(request.get_normalized_http_method), CGI.escape(request.get_normalized_http_url), CGI.escape(request.get_normalized_parameters) ] key = "#{CGI.escape(consumer.secret)}&" key << CGI.escape(token.secret) if token raw = sig.join("&") return [key, raw] end |
.calculate_digest(key, data) ⇒ Object
46 47 48 49 50 51 52 |
# File 'lib/oauth-simple/signature_method_hmac_sha1.rb', line 46 def self.calculate_digest(key, data) if RUBY_VERSION >= "1.9" Digest::HMAC.new(key, Digest::SHA1).digest(data) else ::HMAC::SHA1.digest(key, data) end end |
.oauth_name ⇒ Object
24 25 26 |
# File 'lib/oauth-simple/signature_method_hmac_sha1.rb', line 24 def self.oauth_name "HMAC-SHA1" end |