Module: OAuth::Signature

Defined in:
lib/oauth/signature.rb,
lib/oauth/signature/base.rb,
lib/oauth/signature/rsa/sha1.rb,
lib/oauth/signature/hmac/sha1.rb,
lib/oauth/signature/plaintext.rb,
lib/oauth/signature/hmac/sha256.rb

Defined Under Namespace

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

Class Method Summary collapse

Class Method Details

.available_methodsObject

Returns a list of available signature methods



6
7
8
# File 'lib/oauth/signature.rb', line 6

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

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

Create the body hash for a request



42
43
44
# File 'lib/oauth/signature.rb', line 42

def self.body_hash(request, options = {}, &block)
  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.



13
14
15
16
17
18
19
20
21
22
# File 'lib/oauth/signature.rb', line 13

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



25
26
27
# File 'lib/oauth/signature.rb', line 25

def self.sign(request, options = {}, &block)
  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



37
38
39
# File 'lib/oauth/signature.rb', line 37

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

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

Verify the signature of request



30
31
32
# File 'lib/oauth/signature.rb', line 30

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