module DeviseSamlAuthenticatable::SamlConfig

Public Instance Methods

saml_config(idp_entity_id = nil) click to toggle source
# File lib/devise_saml_authenticatable/saml_config.rb, line 4
def saml_config(idp_entity_id = nil)
  return file_based_config if file_based_config
  return adapter_based_config(idp_entity_id) if Devise.idp_settings_adapter

  Devise.saml_config
end

Private Instance Methods

adapter_based_config(idp_entity_id) click to toggle source
# File lib/devise_saml_authenticatable/saml_config.rb, line 22
def adapter_based_config(idp_entity_id)
  config = Marshal.load(Marshal.dump(Devise.saml_config))

  idp_settings_adapter.settings(idp_entity_id).each do |k,v|
    acc = "#{k.to_s}=".to_sym

    if config.respond_to? acc
      config.send(acc, v)
    end
  end
  config
end
file_based_config() click to toggle source
# File lib/devise_saml_authenticatable/saml_config.rb, line 13
def file_based_config
  return @file_based_config if @file_based_config
  idp_config_path = "#{Rails.root}/config/idp.yml"

  if File.exists?(idp_config_path)
    @file_based_config ||= OneLogin::RubySaml::Settings.new(YAML.load(File.read(idp_config_path))[Rails.env])
  end
end
get_idp_entity_id(params) click to toggle source
# File lib/devise_saml_authenticatable/saml_config.rb, line 35
def get_idp_entity_id(params)
  idp_entity_id_reader.entity_id(params)
end
idp_entity_id_reader() click to toggle source
# File lib/devise_saml_authenticatable/saml_config.rb, line 39
def idp_entity_id_reader
  if Devise.idp_entity_id_reader.respond_to?(:entity_id)
    Devise.idp_entity_id_reader
  else
    @idp_entity_id_reader ||= Devise.idp_entity_id_reader.constantize
  end
end
idp_settings_adapter() click to toggle source
# File lib/devise_saml_authenticatable/saml_config.rb, line 47
def idp_settings_adapter
  if Devise.idp_settings_adapter.respond_to?(:settings)
    Devise.idp_settings_adapter
  else
    @idp_settings_adapter ||= Devise.idp_settings_adapter.constantize
  end
end