|
1 | 1 | if Rails.application.secrets.dig(:omniauth, :oidc).present? |
2 | 2 | Rails.application.config.middleware.use OmniAuth::Builder do |
3 | 3 | provider( |
4 | | - :oidc, |
5 | | - setup: ->(env) { |
6 | | - request = Rack::Request.new(env) |
7 | | - organization = Decidim::Organization.find_by(host: request.host) |
8 | | - provider_config = organization.enabled_omniauth_providers[:oidc] |
9 | | - env["omniauth.strategy"].options[:client_options] ||= {} |
10 | | - env["omniauth.strategy"].options[:issuer] = provider_config[:issuer] |
11 | | - env["omniauth.strategy"].options[:client_options][:identifier] = provider_config[:client_id] |
12 | | - env["omniauth.strategy"].options[:client_options][:secret] = provider_config[:client_secret] |
13 | | - env["omniauth.strategy"].options[:client_options][:redirect_uri] = provider_config[:redirect_url] |
14 | | - }, |
15 | | - name: :oidc, |
16 | | - discovery: true, |
17 | | - client_auth_method: :basic, |
18 | | - scope: [:openid, :stzh_profile_basic], |
| 4 | + :oidc, |
| 5 | + setup: lambda { |env| |
| 6 | + request = Rack::Request.new(env) |
| 7 | + organization = Decidim::Organization.find_by(host: request.host) |
| 8 | + provider_config = organization.enabled_omniauth_providers[:oidc] |
| 9 | + env['omniauth.strategy'].options[:client_options] ||= {} |
| 10 | + env['omniauth.strategy'].options[:issuer] = provider_config[:issuer] |
| 11 | + env['omniauth.strategy'].options[:client_options][:identifier] = provider_config[:client_id] |
| 12 | + env['omniauth.strategy'].options[:client_options][:secret] = provider_config[:client_secret] |
| 13 | + env['omniauth.strategy'].options[:client_options][:redirect_uri] = provider_config[:redirect_url] |
| 14 | + }, |
| 15 | + name: :oidc, |
| 16 | + discovery: true, |
| 17 | + client_auth_method: :basic, |
| 18 | + scope: %i[openid stzh_profile_basic] |
19 | 19 | ) |
20 | 20 | end |
21 | 21 |
|
22 | 22 | Decidim.icons.register(name: 'oidc-fill', icon: 'oidc', category: 'system', description: '', engine: :core) |
| 23 | + Decidim.icons.register(name: 'proposals', icon: 'proposals', category: 'system', description: '', engine: :core) |
23 | 24 | end |
0 commit comments