Module: Decidim::Mpassid

Includes:
ActiveSupport::Configurable
Defined in:
lib/decidim/mpassid.rb,
lib/decidim/mpassid/engine.rb,
lib/decidim/mpassid/version.rb,
lib/decidim/mpassid/test/runtime.rb,
lib/decidim/mpassid/test/cert_store.rb,
lib/decidim/mpassid/mail_interceptors.rb,
lib/decidim/mpassid/verification/engine.rb,
lib/decidim/mpassid/verification/manager.rb,
lib/generators/decidim/mpassid/install_generator.rb,
lib/decidim/mpassid/verification/metadata_collector.rb,
app/controllers/decidim/mpassid/omniauth_callbacks_controller.rb,
app/controllers/decidim/mpassid/verification/authorizations_controller.rb,
lib/decidim/mpassid/mail_interceptors/generated_recipients_interceptor.rb

Defined Under Namespace

Modules: Generators, MailInterceptors, Test, Verification Classes: Engine, OmniauthCallbacksController

Constant Summary collapse

VERSION =
"0.19.0"
DECIDIM_VERSION =
"~> 0.19.0"

Class Method Summary collapse

Class Method Details

.application_hostObject

Used to determine the default service provider entity ID in case not specifically set by the ‘sp_entity_id` configuration option.



88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
# File 'lib/decidim/mpassid.rb', line 88

def self.application_host
  conf = Rails.application.config
  url_options = conf.action_controller.default_url_options
  url_options = conf.action_mailer.default_url_options if !url_options || !url_options[:host]
  url_options ||= {}

  host = url_options[:host]
  port = url_options[:port]
  if host.blank?
    # Default to local development environment
    host = "http://localhost"
    port ||= 3000
  end

  return "#{host}:#{port}" if port && ![80, 443].include?(port.to_i)

  host
end

.configureObject



56
57
58
59
# File 'lib/decidim/mpassid.rb', line 56

def self.configure
  @configured = true
  super
end

.configured?Boolean

Returns:

  • (Boolean)


52
53
54
# File 'lib/decidim/mpassid.rb', line 52

def self.configured?
  @configured
end

.modeObject



61
62
63
64
65
66
67
68
69
# File 'lib/decidim/mpassid.rb', line 61

def self.mode
  return config.mode if config.mode
  return :production unless Rails.application.secrets.omniauth
  return :production unless Rails.application.secrets.omniauth[:mpassid]

  # Read the mode from the secrets
  secrets = Rails.application.secrets.omniauth[:mpassid]
  secrets[:mode] == "test" ? :test : :production
end

.omniauth_settingsObject



77
78
79
80
81
82
83
84
# File 'lib/decidim/mpassid.rb', line 77

def self.omniauth_settings
  settings = {
    mode: mode,
    sp_entity_id: sp_entity_id
  }
  settings.merge!(config.extra) if config.extra.is_a?(Hash)
  settings
end

.sp_entity_idObject



71
72
73
74
75
# File 'lib/decidim/mpassid.rb', line 71

def self.sp_entity_id
  return config.sp_entity_id if config.sp_entity_id

  "#{application_host}/users/auth/mpassid/metadata"
end