class OmniAuth::Strategies::Edenred
Public Instance Methods
callback_phase()
click to toggle source
Added JWT.decode
# File lib/omniauth/strategies/edenred.rb, line 30 def callback_phase begin error = request.params["error_reason"] || request.params["error"] if error fail!(error, CallbackError.new(request.params["error"], request.params["error_description"] || request.params["error_reason"], request.params["error_uri"])) elsif !options.provider_ignores_state && (request.params["state"].to_s.empty? || request.params["state"] != session.delete("omniauth.state")) fail!(:csrf_detected, CallbackError.new(:csrf_detected, "CSRF detected")) else self.access_token = build_access_token self.access_token = access_token.refresh! if access_token.expired? @raw_info = JWT.decode(access_token.params['id_token'], nil, false).first env['omniauth.auth'] = auth_hash call_app! end rescue ::OAuth2::Error, CallbackError => e fail!(:invalid_credentials, e) rescue ::Timeout::Error, ::Errno::ETIMEDOUT => e fail!(:timeout, e) rescue ::SocketError => e fail!(:failed_to_connect, e) rescue ::JWT::DecodeError => e fail!(:jwt_decode, e) end end
callback_url()
click to toggle source
Required for omniauth-oauth2 >= 1.4 github.com/intridea/omniauth-oauth2/issues/81
# File lib/omniauth/strategies/edenred.rb, line 77 def callback_url full_host + script_name + callback_path end
raw_info()
click to toggle source
# File lib/omniauth/strategies/edenred.rb, line 71 def raw_info @raw_info || {} end
setup_phase()
click to toggle source
Calls superclass method
# File lib/omniauth/strategies/edenred.rb, line 17 def setup_phase super if options[:sandbox] === true options[:client_options] = { :site => 'https://sso.auth-sandbox.api.edenred.com/idsrv', :authorize_url => 'https://sso.auth-sandbox.api.edenred.com/idsrv/connect/authorize', :token_url => 'https://sso.auth-sandbox.api.edenred.com/idsrv/connect/token', } end end