Module: Decidim::Suomifi
- Includes:
- ActiveSupport::Configurable
- Defined in:
- lib/decidim/suomifi.rb,
lib/decidim/suomifi/engine.rb,
lib/decidim/suomifi/version.rb,
lib/decidim/suomifi/test/runtime.rb,
lib/decidim/suomifi/test/cert_store.rb,
lib/decidim/suomifi/mail_interceptors.rb,
lib/decidim/suomifi/verification/engine.rb,
lib/decidim/suomifi/verification/manager.rb,
lib/decidim/suomifi/authentication/errors.rb,
lib/decidim/suomifi/authentication/authenticator.rb,
lib/generators/decidim/suomifi/install_generator.rb,
app/controllers/decidim/suomifi/sessions_controller.rb,
lib/decidim/suomifi/verification/metadata_collector.rb,
app/controllers/decidim/suomifi/omniauth_callbacks_controller.rb,
app/controllers/decidim/suomifi/verification/authorizations_controller.rb,
lib/decidim/suomifi/mail_interceptors/generated_recipients_interceptor.rb
Defined Under Namespace
Modules: Authentication, Generators, MailInterceptors, Test, Verification
Classes: Engine, OmniauthCallbacksController, SessionsController
Constant Summary
collapse
- VERSION =
"0.18.1"
- DECIDIM_VERSION =
"~> 0.18.0"
Class Method Summary
collapse
Class Method Details
.application_host ⇒ Object
Used to determine the default service provider entity ID in case not specifically set by the ‘sp_entity_id` configuration option.
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
|
# File 'lib/decidim/suomifi.rb', line 146
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?
host = "http://localhost"
port ||= 3000
end
return "#{host}:#{port}" if port && ![80, 443].include?(port.to_i)
host
end
|
.authenticator_for(organization, oauth_hash) ⇒ Object
99
100
101
|
# File 'lib/decidim/suomifi.rb', line 99
def self.authenticator_for(organization, oauth_hash)
authenticator_class.new(organization, oauth_hash)
end
|
.certificate ⇒ Object
119
120
121
122
123
|
# File 'lib/decidim/suomifi.rb', line 119
def self.certificate
return File.read(certificate_file) if certificate_file
config.certificate
end
|
94
95
96
97
|
# File 'lib/decidim/suomifi.rb', line 94
def self.configure
@configured = true
super
end
|
90
91
92
|
# File 'lib/decidim/suomifi.rb', line 90
def self.configured?
@configured
end
|
.mode ⇒ Object
103
104
105
106
107
108
109
110
111
|
# File 'lib/decidim/suomifi.rb', line 103
def self.mode
return config.mode if config.mode
return :production unless Rails.application.secrets.omniauth
return :production unless Rails.application.secrets.omniauth[:suomifi]
secrets = Rails.application.secrets.omniauth[:suomifi]
secrets[:mode] == "test" ? :test : :production
end
|
.omniauth_settings ⇒ Object
131
132
133
134
135
136
137
138
139
140
141
142
|
# File 'lib/decidim/suomifi.rb', line 131
def self.omniauth_settings
settings = {
mode: mode,
scope_of_data: scope_of_data,
sp_entity_id: sp_entity_id,
certificate: certificate,
private_key: private_key,
idp_slo_session_destroy: idp_slo_session_destroy
}
settings.merge!(config.) if config..is_a?(Hash)
settings
end
|
.private_key ⇒ Object
125
126
127
128
129
|
# File 'lib/decidim/suomifi.rb', line 125
def self.private_key
return File.read(private_key_file) if private_key_file
config.private_key
end
|
.sp_entity_id ⇒ Object
113
114
115
116
117
|
# File 'lib/decidim/suomifi.rb', line 113
def self.sp_entity_id
return config.sp_entity_id if config.sp_entity_id
"#{application_host}/users/auth/suomifi/metadata"
end
|