class OAuth::RequestToken

The RequestToken is used for the initial Request. This is normally created by the Consumer object.

Public Instance Methods

authorize_url(params = nil) click to toggle source

Generate an authorization URL for user authorization

# File lib/oauth/tokens/request_token.rb, line 7
def authorize_url(params = nil)
  return nil if self.token.nil?

  params = (params || {}).merge(:oauth_token => self.token)
  build_authorize_url(consumer.authorize_url, params)
end
callback_confirmed?() click to toggle source
# File lib/oauth/tokens/request_token.rb, line 14
def callback_confirmed?
  params[:oauth_callback_confirmed] == "true"
end
get_access_token(options = {}, *arguments) click to toggle source

exchange for AccessToken on server

# File lib/oauth/tokens/request_token.rb, line 19
def get_access_token(options = {}, *arguments)
  response = consumer.token_request(consumer.http_method, (consumer.access_token_url? ? consumer.access_token_url : consumer.access_token_path), self, options, *arguments)
  OAuth::AccessToken.from_hash(consumer, response)
end

Protected Instance Methods

build_authorize_url(base_url, params) click to toggle source

construct an authorization url

# File lib/oauth/tokens/request_token.rb, line 27
def build_authorize_url(base_url, params)
  uri = URI.parse(base_url.to_s)
  queries = {}
  queries = Hash[URI.decode_www_form(uri.query)] if uri.query
  # TODO doesn't handle array values correctly
  queries.merge!(params) if params
  uri.query = URI.encode_www_form(queries) if !queries.empty?
  uri.to_s
end