Module: Mumukit::Login

Defined in:
lib/mumukit/login/version.rb,
lib/mumukit/login.rb,
lib/mumukit/login.rb

Defined Under Namespace

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

Constant Summary collapse

VERSION =
'4.2.0'

Class Method Summary collapse

Class Method Details

.configObject



44
45
46
# File 'lib/mumukit/login.rb', line 44

def self.config
  @config
end

.configure {|@config| ... } ⇒ Object

Yields:



15
16
17
18
# File 'lib/mumukit/login.rb', line 15

def self.configure
  @config ||= defaults
  yield @config
end

.configure_controller!(native) ⇒ Object



85
86
87
# File 'lib/mumukit/login.rb', line 85

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

.configure_login_controller!(native) ⇒ Object



81
82
83
# File 'lib/mumukit/login.rb', line 81

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

.configure_login_routes!(native) ⇒ Object



77
78
79
# File 'lib/mumukit/login.rb', line 77

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::.configure_omniauth! self
end


73
74
75
# File 'lib/mumukit/login.rb', line 73

def self.configure_omniauth!(omniauth)
  provider.configure_omniauth! omniauth
end

.defaultsObject



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

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::::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.auth0 = struct client_id: ENV['MUMUKI_AUTH0_CLIENT_ID'],
                          client_secret: ENV['MUMUKI_AUTH0_CLIENT_SECRET'],
                          domain: ENV['MUMUKI_AUTH0_DOMAIN']
  end
end