Class: OmniAuth::Strategies::PayPalOpenID

Inherits:
OAuth2
  • Object
show all
Defined in:
lib/omniauth/strategies/paypal-openid.rb

Constant Summary collapse

DEFAULT_SCOPE =
"openid profile"
DEFAULT_RESPONSE_TYPE =
"code"
SANDBOX_SITE =
"https://api.sandbox.paypal.com"
SANDBOX_AUTHORIZE_URL =
'https://www.sandbox.paypal.com/webapps/auth/protocol/openidconnect/v1/authorize'

Instance Method Summary collapse

Instance Method Details

#authorize_paramsObject



56
57
58
59
60
61
# 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

#callback_urlObject



48
49
50
# 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_tokenObject Also known as: build_access_token



63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
# 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

#raw_infoObject



52
53
54
# File 'lib/omniauth/strategies/paypal-openid.rb', line 52

def raw_info
  @raw_info ||= load_identity
end

#setup_phaseObject



40
41
42
43
44
45
46
# 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