class OmniAuth::Strategies::PayPalOpenID

Constants

DEFAULT_RESPONSE_TYPE
DEFAULT_SCOPE
SANDBOX_AUTHORIZE_URL
SANDBOX_SITE

Public Instance Methods

authorize_params() click to toggle source
Calls superclass method
# File lib/omniauth/strategies/paypal-openid.rb, line 56
def authorize_params
  super.tap do |params|
    params[:scope] ||= DEFAULT_SCOPE
    params[:response_type] ||= DEFAULT_RESPONSE_TYPE
  end
end
build_access_token()
callback_url() click to toggle source
# File lib/omniauth/strategies/paypal-openid.rb, line 48
def callback_url
  options[:redirect_uri] || (full_host + script_name + callback_path)
end
custom_build_access_token() click to toggle source
# File lib/omniauth/strategies/paypal-openid.rb, line 63
def custom_build_access_token
  access_token =
  if request.xhr? && request.params['code']
    verifier = request.params['code']
    redirect_uri = request.params['redirect_uri'] || 'postmessage'
    client.auth_code.get_token(verifier, get_token_options(redirect_uri), deep_symbolize(options.auth_token_params || {}))
  elsif request.params['code'] && request.params['redirect_uri']
    verifier = request.params['code']
    redirect_uri = request.params['redirect_uri']
    client.auth_code.get_token(verifier, get_token_options(redirect_uri), deep_symbolize(options.auth_token_params || {}))
  else
    verifier = request.params["code"]
    client.auth_code.get_token(verifier, get_token_options(callback_url), deep_symbolize(options.auth_token_params))
  end
  access_token
end
Also aliased as: build_access_token
raw_info() click to toggle source
# File lib/omniauth/strategies/paypal-openid.rb, line 52
def raw_info
  @raw_info ||= load_identity
end
setup_phase() click to toggle source
Calls superclass method
# File lib/omniauth/strategies/paypal-openid.rb, line 40
def setup_phase
  if options.sandbox
    options.client_options[:site] = SANDBOX_SITE
    options.client_options[:authorize_url] = SANDBOX_AUTHORIZE_URL
  end
  super
end

Private Instance Methods

build_user_location() click to toggle source
# File lib/omniauth/strategies/paypal-openid.rb, line 101
def build_user_location
  return unless raw_info['address']
  location = [
    raw_info['address']['locality'],
    raw_info['address']['region']
  ].compact.join(', ')
end
get_token_options(redirect_uri) click to toggle source
# File lib/omniauth/strategies/paypal-openid.rb, line 90
def get_token_options(redirect_uri)
  { :redirect_uri => redirect_uri }.merge(token_params.to_hash(:symbolize_keys => true))
end
load_identity() click to toggle source
# File lib/omniauth/strategies/paypal-openid.rb, line 83
def load_identity
  access_token.options[:mode] = :query
  access_token.options[:param_name] = :access_token
  access_token.options[:grant_type] = :authorization_code
  access_token.get('/v1/identity/openidconnect/userinfo', { :params => { :schema => 'openid'}}).parsed || {}
end
prune!(hash) click to toggle source
# File lib/omniauth/strategies/paypal-openid.rb, line 94
def prune!(hash)
  hash.delete_if do |_, value|
    prune!(value) if value.is_a?(Hash)
    value.nil? || (value.respond_to?(:empty?) && value.empty?)
  end
end