class ActionDispatch::Routing::Mapper

Add G5 omniauth callbacks to set of routes

Protected Instance Methods

build_g5_omniauth_routes(_mapping, controllers) click to toggle source
# File lib/devise_g5_authenticatable/routes.rb, line 58
def build_g5_omniauth_routes(_mapping, controllers)
  match 'auth/g5', controller: controllers[:sessions],
                   action: 'omniauth_passthru',
                   as: :g5_authorize,
                   via: %i[get post]

  match 'auth/g5/callback', controller: controllers[:sessions],
                            action: 'create',
                            as: :g5_callback,
                            via: %i[get post]
end
build_session_routes(mapping, controllers) click to toggle source
# File lib/devise_g5_authenticatable/routes.rb, line 45
def build_session_routes(mapping, controllers)
  resource(:session, only: [],
                     controller: controllers[:sessions],
                     path: '') do
    get   :new,     path: mapping.path_names[:sign_in],
                    as: :new
    post  :create,  path: mapping.path_names[:sign_in]
    match :destroy, path: mapping.path_names[:sign_out],
                    as: :destroy,
                    via: mapping.sign_out_via
  end
end
devise_session(mapping, controllers) click to toggle source
# File lib/devise_g5_authenticatable/routes.rb, line 32
def devise_session(mapping, controllers)
  setup_omniauth_path_prefix(mapping)
  build_session_routes(mapping, controllers)
  build_g5_omniauth_routes(mapping, controllers)
end
setup_omniauth_path_prefix(mapping) click to toggle source
# File lib/devise_g5_authenticatable/routes.rb, line 38
def setup_omniauth_path_prefix(mapping)
  return if ::OmniAuth.config.path_prefix.present?
  path_prefix = Devise.omniauth_path_prefix ||
                "/#{mapping.fullpath}/auth".squeeze('/')
  set_omniauth_path_prefix!(path_prefix)
end