class OmniAuth::Strategies::Reddit

Constants

MOBILE_USER_AGENTS

Public Instance Methods

basic_auth_header() click to toggle source
# File lib/omniauth/strategies/reddit.rb, line 36
def basic_auth_header
  "Basic " + Base64.strict_encode64("#{options[:client_id]}:#{options[:client_secret]}")
end
build_access_token() click to toggle source
Calls superclass method
# File lib/omniauth/strategies/reddit.rb, line 31
def build_access_token
  options.token_params.merge!(:headers => {'Authorization' => basic_auth_header })
  super
end
callback_url() click to toggle source
# File lib/omniauth/strategies/reddit.rb, line 52
def callback_url
  options[:redirect_uri] || (full_host + script_name + callback_path)
end
mobile_request?() click to toggle source
# File lib/omniauth/strategies/reddit.rb, line 47
def mobile_request?
  ua = Rack::Request.new(@env).user_agent.to_s
  ua.downcase =~ Regexp.new(MOBILE_USER_AGENTS)
end
raw_info() click to toggle source
# File lib/omniauth/strategies/reddit.rb, line 27
def raw_info
  @raw_info ||= access_token.get('/api/v1/me').parsed || {}
end
request_phase() click to toggle source
Calls superclass method
# File lib/omniauth/strategies/reddit.rb, line 42
def request_phase
  options[:client_options].authorize_url = mobile_request? ? 'https://ssl.reddit.com/api/v1/authorize.compact' : 'https://ssl.reddit.com/api/v1/authorize'
  super
end