module Decidim::Mpassid

Constants

DECIDIM_VERSION
VERSION

Public Class Methods

application_host() click to toggle source

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

# 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
configure() click to toggle source
Calls superclass method
# File lib/decidim/mpassid.rb, line 56
def self.configure
  @configured = true
  super
end
configured?() click to toggle source
# File lib/decidim/mpassid.rb, line 52
def self.configured?
  @configured
end
mode() click to toggle source
# 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_settings() click to toggle source
# 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_id() click to toggle source
# 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