Module: Mumukit::Login

Extended by:
Core::Configurable
Defined in:
lib/mumukit/login/version.rb,
lib/mumukit/login.rb,
lib/mumukit/login.rb

Defined Under Namespace

Modules: AuthenticationHelpers, AuthorizationHelpers, LoginControllerHelpers, LoginSettingsHelpers, OrganizationHelpers, Profile, Provider Classes: Controller, Form, Mucookie, MucookieSharedSession, OriginRedirector, Settings, TokenSharedSession

Constant Summary collapse

VERSION =
'7.6.2'

Class Method Summary collapse

Class Method Details

.configure_controller!(native) ⇒ Object



87
88
89
# File 'lib/mumukit/login.rb', line 87

def self.configure_controller!(native)
  web_framework.configure_controller! native
end

.configure_login_controller!(native) ⇒ Object



83
84
85
# File 'lib/mumukit/login.rb', line 83

def self.(native)
  web_framework.(native)
end

.configure_login_routes!(native) ⇒ Object



79
80
81
# File 'lib/mumukit/login.rb', line 79

def self.(native)
  web_framework. native
end

.configure_omniauth!(omniauth) ⇒ Object

Configures omniauth. This method typically configures and sets the omniauth provider. Typical config should look like this

Rails.application.config.middleware.use OmniAuth::Builder do
 Mumukit::Login.configure_omniauth! self
end

Parameters:

  • omniauth (OmniAuth::Builder)


75
76
77
# File 'lib/mumukit/login.rb', line 75

def self.configure_omniauth!(omniauth)
  Mumukit::Login::Provider.setup_providers! omniauth
end

.defaultsObject



19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
# File 'lib/mumukit/login.rb', line 19

def self.defaults
  struct.tap do |config|
    config.logo_url = ENV['MUMUKI_LOGO_URL'] || "https://mumuki.io/static/logo.png"
    config.terms_url = ENV['MUMUKI_TERMS_URL'] || "https://mumuki.io/static/terms"
    config.mucookie_domain = ENV['MUMUKI_COOKIES_DOMAIN'] || ENV['MUMUKI_MUCOOKIE_DOMAIN']
    config.mucookie_secret_key = ENV['SECRET_KEY_BASE'] || ENV['MUMUKI_MUCOOKIE_SECRET_KEY']
    config.mucookie_secret_salt = ENV['MUMUKI_MUCOOKIE_SECRET_SALT'] || 'mucookie secret salt'
    config.mucookie_sign_salt = ENV['MUMUKI_MUCOOKIE_SIGN_KEY'] || 'mucookie sign salt'

    config.mucookie_duration = ENV['MUMUKI_MUCOOKIE_DURATION'].defaulting(14, &:to_i)

    config.provider = Mumukit::Login::Provider.from_env

    config.saml = struct base_url: ENV['MUMUKI_SAML_BASE_URL'],
                         idp_sso_target_url: ENV['MUMUKI_SAML_IDP_SSO_TARGET_URL'],
                         idp_slo_target_url: ENV['MUMUKI_SAML_IDP_SLO_TARGET_URL'],
                         translation_name: ENV['MUMUKI_SAML_TRANSLATION_NAME'] || 'name',
                         translation_email: ENV['MUMUKI_SAML_TRANSLATION_EMAIL'] || 'email',
                         translation_image: ENV['MUMUKI_SAML_TRANSLATION_IMAGE'] || 'image'
    config.cas = struct url: ENV['MUMUKI_CAS_URL'],
                        host: ENV['MUMUKI_CAS_HOST'],
                        ssl_certificate: ENV['MUMUKI_CAS_SSL_CERTIFICATE'],
                        disable_ssl_verification: ENV['MUMUKI_CAS_DISABLE_SSL_VERIFICATION'] == 'true'
    config.auth0 = struct client_id: ENV['MUMUKI_AUTH0_CLIENT_ID'],
                          client_secret: ENV['MUMUKI_AUTH0_CLIENT_SECRET'],
                          domain: ENV['MUMUKI_AUTH0_DOMAIN']
    config.google = struct client_id: ENV['MUMUKI_GOOGLE_CLIENT_ID'],
                           client_secret: ENV['MUMUKI_GOOGLE_CLIENT_SECRET']
  end
end