Sha256: b5dc0c8dec313f8ebe07bac0cf536f93e20227138a6287567ad772677bb86e33

Contents?: true

Size: 1.76 KB

Versions: 1

Compression:

Stored size: 1.76 KB

Contents

require 'oauth/helper'
require 'oauth/consumer'
module OAuth
  # This is mainly used to create consumer credentials and can pretty much be ignored if you want to create your own
  class Server
    include OAuth::Helper
    attr_accessor :base_url
    
    @@server_paths={
      :request_token_path=>"/oauth/request_token",
      :authorize_path=>"/oauth/authorize",
      :access_token_path=>"/oauth/access_token"
      :authenticate_path=>'/oauth/authenticate',
    }
    # Create a new server instance
    def initialize(base_url,paths={})
      @base_url=base_url
      @paths=@@server_paths.merge(paths)
    end
        
    def generate_credentials()
      [generate_key(16),generate_key]
    end
    
    def generate_consumer_credentials(params={})
      Consumer.new( *generate_credentials)
    end

    # mainly for testing purposes
    def create_consumer
      credentials=generate_credentials
      Consumer.new( 
        credentials[0],
        credentials[1],
        {
          :site=>base_url,
          :request_token_path=>request_token_path,
          :authorize_path=>authorize_path,
          :authenticate_path=>authenticate_path,
          :access_token_path=>access_token_path
      })
    end
        
    def request_token_path
      @paths[:request_token_path]
    end
    
    def request_token_url
      base_url+request_token_path
    end
    
    def authorize_path
      @paths[:authorize_path]
    end
    
    def authorize_url
      base_url+authorize_path
    end

    def authenticate_path
      @paths[:authenticate_path]
    end
    
    def authenticate_url
      base_url+authenticate_path
    end
    
    def access_token_path
      @paths[:access_token_path]
    end

    def access_token_url
      base_url+access_token_path
    end
    
    
  end
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
proletarian-oauth-0.3.7 lib/oauth/server.rb