Class: ActiveAdmin::Oidc::Engine

Inherits:
Rails::Engine
  • Object
show all
Defined in:
lib/activeadmin/oidc/engine.rb

Constant Summary collapse

PROVIDER_NAME =
:oidc
ControllersPatch =
Module.new do
  def controllers
    result = super
    if Engine.oidc_enabled?
      result = result.merge(
        omniauth_callbacks: 'active_admin/oidc/devise/omniauth_callbacks'
      )
    end
    result
  end
end

Class Method Summary collapse

Class Method Details

.oidc_enabled?Boolean

True when the host’s AdminUser model includes :omniauthable. Used to gate controller registration and view overrides so the gem is a no-op when OIDC is not enabled on the model.

Returns:

  • (Boolean)


13
14
15
16
17
# File 'lib/activeadmin/oidc/engine.rb', line 13

def self.oidc_enabled?
  admin_class = ActiveAdmin::Oidc.config.admin_user_class
  klass = admin_class.is_a?(String) ? admin_class.safe_constantize : admin_class
  klass.respond_to?(:devise_modules) && klass.devise_modules.include?(:omniauthable)
end