Class: OmniAuth::Strategies::MakerSquare
- Inherits:
-
Object
- Object
- OmniAuth::Strategies::MakerSquare
- Includes:
- OmniAuth::Strategy
- Defined in:
- lib/omniauth/strategies/makersquare.rb
Defined Under Namespace
Classes: CallbackError
Instance Attribute Summary collapse
-
#access_token ⇒ Object
Returns the value of attribute access_token.
Instance Method Summary collapse
- #authorize_params ⇒ Object
-
#callback_phase ⇒ Object
rubocop:disable CyclomaticComplexity, MethodLength, PerceivedComplexity.
- #callback_url ⇒ Object
- #client ⇒ Object
- #raw_info ⇒ Object
- #request_phase ⇒ Object
- #token_params ⇒ Object
Instance Attribute Details
#access_token ⇒ Object
Returns the value of attribute access_token.
44 45 46 |
# File 'lib/omniauth/strategies/makersquare.rb', line 44 def access_token @access_token end |
Instance Method Details
#authorize_params ⇒ Object
70 71 72 73 74 75 76 77 78 79 |
# File 'lib/omniauth/strategies/makersquare.rb', line 70 def .[:state] = SecureRandom.hex(24) params = ..merge(('authorize')) if OmniAuth.config.test_mode @env ||= {} @env['rack.session'] ||= {} end session['omniauth.state'] = params[:state] params end |
#callback_phase ⇒ Object
rubocop:disable CyclomaticComplexity, MethodLength, PerceivedComplexity
85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 |
# File 'lib/omniauth/strategies/makersquare.rb', line 85 def callback_phase # rubocop:disable CyclomaticComplexity, MethodLength, PerceivedComplexity 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 !.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? super end rescue ::OAuth2::Error, CallbackError => e fail!(:invalid_credentials, e) rescue ::MultiJson::DecodeError => e fail!(:invalid_response, e) rescue ::Timeout::Error, ::Errno::ETIMEDOUT, Faraday::Error::TimeoutError => e fail!(:timeout, e) rescue ::SocketError, Faraday::Error::ConnectionFailed => e fail!(:failed_to_connect, e) end |
#callback_url ⇒ Object
54 55 56 |
# File 'lib/omniauth/strategies/makersquare.rb', line 54 def callback_url full_host + script_name + callback_path end |
#client ⇒ Object
50 51 52 |
# File 'lib/omniauth/strategies/makersquare.rb', line 50 def client ::OAuth2::Client.new(.client_id, .client_secret, deep_symbolize(.)) end |
#raw_info ⇒ Object
46 47 48 |
# File 'lib/omniauth/strategies/makersquare.rb', line 46 def raw_info @raw_info ||= access_token.get('/api/v1/me.json').parsed end |
#request_phase ⇒ Object
66 67 68 |
# File 'lib/omniauth/strategies/makersquare.rb', line 66 def request_phase redirect client.auth_code.({:redirect_uri => callback_url}.merge()) end |
#token_params ⇒ Object
81 82 83 |
# File 'lib/omniauth/strategies/makersquare.rb', line 81 def token_params .token_params.merge(('token')) end |