Module: OAuth::Signature

Defined in:
lib/oauth/signature.rb,
lib/oauth/signature/md5.rb,
lib/oauth/signature/base.rb,
lib/oauth/signature/sha1.rb,
lib/oauth/signature/plaintext.rb

Defined Under Namespace

Modules: HMAC, RSA Classes: Base, MD5, PLAINTEXT, SHA1, UnknownSignatureMethod

Class Method Summary collapse

Class Method Details

.available_methodsObject

Returns a list of available signature methods


4
5
6
# File 'lib/oauth/signature.rb', line 4

def self.available_methods
  @available_methods ||= {}
end

.body_hash(request, options = {}, &block) ⇒ Object

Create the body hash for a request


39
40
41
# File 'lib/oauth/signature.rb', line 39

def self.body_hash(request, options = {}, &block)
  self.build(request, options, &block).body_hash
end

.build(request, options = {}, &block) ⇒ Object

Build a signature from a request.

Raises UnknownSignatureMethod exception if the signature method is unknown.


11
12
13
14
15
16
17
18
19
# File 'lib/oauth/signature.rb', line 11

def self.build(request, options = {}, &block)
  request = OAuth::RequestProxy.proxy(request, options)
  klass = available_methods[
    (request.signature_method ||
    ((c = request.options[:consumer]) && c.options[:signature_method]) ||
    "").downcase]
  raise UnknownSignatureMethod, request.signature_method unless klass
  klass.new(request, options, &block)
end

.sign(request, options = {}, &block) ⇒ Object

Sign a request


22
23
24
# File 'lib/oauth/signature.rb', line 22

def self.sign(request, options = {}, &block)
  self.build(request, options, &block).signature
end

.signature_base_string(request, options = {}, &block) ⇒ Object

Create the signature base string for request. This string is the normalized parameter information.

See Also: OAuth core spec version 1.0, section 9.1.1


34
35
36
# File 'lib/oauth/signature.rb', line 34

def self.signature_base_string(request, options = {}, &block)
  self.build(request, options, &block).signature_base_string
end

.verify(request, options = {}, &block) ⇒ Object

Verify the signature of request


27
28
29
# File 'lib/oauth/signature.rb', line 27

def self.verify(request, options = {}, &block)
  self.build(request, options, &block).verify
end