Module: Mumukit::Login

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

Defined Under Namespace

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

Constant Summary collapse

VERSION =
'1.2.3'

Class Method Summary collapse

Class Method Details

.configObject



37
38
39
# File 'lib/mumukit/login.rb', line 37

def self.config
  @config
end

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

Yields:



12
13
14
15
# File 'lib/mumukit/login.rb', line 12

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

.configure_controller!(native) ⇒ Object



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

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

.configure_login_controller!(native) ⇒ Object



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

def self.(native)
  framework.(native)
end

.configure_login_routes!(native) ⇒ Object



70
71
72
# File 'lib/mumukit/login.rb', line 70

def self.(native)
  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


66
67
68
# File 'lib/mumukit/login.rb', line 66

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

.defaultsObject



17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
# File 'lib/mumukit/login.rb', line 17

def self.defaults
  struct.tap do |config|
    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.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