Sha256: 41e5beec45b19b99bb0a0f7e072b2070b10aee16a05bb1ef1af54b8b8b023460

Contents?: true

Size: 1.51 KB

Versions: 35

Compression:

Stored size: 1.51 KB

Contents

module OAuth
  module Signature
    # Returns a list of available signature methods
    def self.available_methods
      @available_methods ||= {}
    end

    # Build a signature from a +request+.
    #
    # Raises UnknownSignatureMethod exception if the signature method is unknown.
    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 a +request+
    def self.sign(request, options = {}, &block)
      self.build(request, options, &block).signature
    end

    # Verify the signature of +request+
    def self.verify(request, options = {}, &block)
      self.build(request, options, &block).verify
    end

    # 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}[http://oauth.net/core/1.0#rfc.section.9.1.1]
    def self.signature_base_string(request, options = {}, &block)
      self.build(request, options, &block).signature_base_string
    end

    # Create the body hash for a request
    def self.body_hash(request, options = {}, &block)
      self.build(request, options, &block).body_hash
    end

    class UnknownSignatureMethod < Exception; end
  end
end

Version data entries

35 entries across 32 versions & 8 rubygems

Version Path
oauth-0.5.8 lib/oauth/signature.rb
oauth-0.5.7 lib/oauth/signature.rb
oauth-0.5.7.pre.pre1 lib/oauth/signature.rb
tdiary-5.1.6 vendor/bundle/ruby/2.7.0/gems/oauth-0.5.6/lib/oauth/signature.rb
oauth-0.5.6 lib/oauth/signature.rb
oauth-0.5.5 lib/oauth/signature.rb
tdiary-5.0.8 vendor/bundle/gems/oauth-0.5.4/lib/oauth/signature.rb
oauth-0.5.4 lib/oauth/signature.rb
tdiary-5.0.5 vendor/bundle/gems/oauth-0.5.1/lib/oauth/signature.rb
tdiary-5.0.5 vendor/bundle/gems/oauth-0.5.3/lib/oauth/signature.rb
tdiary-5.0.5 vendor/bundle/gems/tdiary-5.0.4/vendor/bundle/gems/oauth-0.5.1/lib/oauth/signature.rb
oauth-0.5.3 lib/oauth/signature.rb
oauth-0.5.2 lib/oauth/signature.rb
tdiary-5.0.4 vendor/bundle/gems/oauth-0.5.1/lib/oauth/signature.rb
oauth-0.5.1 lib/oauth/signature.rb
oauth-0.5.0 lib/oauth/signature.rb
tdiary-4.2.1 vendor/bundle/ruby/2.2.0/gems/oauth-0.4.7/lib/oauth/signature.rb
tdiary-4.2.1 vendor/bundle/ruby/2.3.0/gems/oauth-0.4.7/lib/oauth/signature.rb
oauth-ap-0.4.8 lib/oauth/signature.rb
oauth-instructure-0.4.10 lib/oauth/signature.rb