class Google::Auth::WebUserAuthorizer::CallbackApp

Small Rack app which acts as the default callback handler for the app.

To configure in Rails, add to routes.rb:

match '/oauth2callback',
      to: Google::Auth::WebUserAuthorizer::CallbackApp,
      via: :all

With Rackup, add to config.ru:

map '/oauth2callback' do
  run Google::Auth::WebUserAuthorizer::CallbackApp
end

Or in a classic Sinatra app:

get('/oauth2callback') do
  Google::Auth::WebUserAuthorizer::CallbackApp.call(env)
end

@see Google::Auth::WebUserAuthorizer

Constants

ERROR_STATUS
LOCATION_HEADER
REDIR_STATUS

Public Class Methods

call(env) click to toggle source

Handle a rack request. Simply stores the results the authorization in the session temporarily and redirects back to to the previously saved redirect URL. Credentials can be later retrieved by calling. {Google::Auth::Web::WebUserAuthorizer#get_credentials}

See {Google::Auth::Web::WebUserAuthorizer#get_authorization_uri} for how to initiate authorization requests.

@param [Hash] env

Rack environment

@return [Array]

HTTP response
# File lib/googleauth/web_user_authorizer.rb, line 275
def self.call env
  request = Rack::Request.new env
  return_url = WebUserAuthorizer.handle_auth_callback_deferred request
  if return_url
    [REDIR_STATUS, { LOCATION_HEADER => return_url }, []]
  else
    [ERROR_STATUS, {}, ["No return URL is present in the request."]]
  end
end

Public Instance Methods

call(env) click to toggle source
# File lib/googleauth/web_user_authorizer.rb, line 285
def call env
  self.class.call env
end