Merge branch 'patch-1' of https://github.com/mr-c/arvados into mr-c-patch-1
[arvados.git] / services / api / config / initializers / omniauth_init.rb
1 # Copyright (C) The Arvados Authors. All rights reserved.
2 #
3 # SPDX-License-Identifier: AGPL-3.0
4
5 # This file is called omniauth_init.rb instead of omniauth.rb because
6 # older versions had site configuration in omniauth.rb.
7 #
8 # It must come after omniauth.rb in (lexical) load order.
9
10 if defined? CUSTOM_PROVIDER_URL
11   Rails.logger.warn "Copying omniauth from globals in legacy config file."
12   Rails.configuration.Login["SSO"]["ProviderAppID"] = APP_ID
13   Rails.configuration.Login["SSO"]["ProviderAppSecret"] = APP_SECRET
14   Rails.configuration.Services["SSO"]["ExternalURL"] = CUSTOM_PROVIDER_URL.sub(/\/$/, "") + "/"
15 else
16   Rails.application.config.middleware.use OmniAuth::Builder do
17     provider(:josh_id,
18              Rails.configuration.Login["SSO"]["ProviderAppID"],
19              Rails.configuration.Login["SSO"]["ProviderAppSecret"],
20              Rails.configuration.Services["SSO"]["ExternalURL"])
21   end
22   OmniAuth.config.on_failure = StaticController.action(:login_failure)
23 end