5610999a9405c05464279a8031ec2bc13ae55bf1
[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["ProviderAppID"] = APP_ID
13   Rails.configuration.Login["ProviderAppSecret"] = APP_SECRET
14   Rails.configuration.Services["SSO"]["ExternalURL"] = CUSTOM_PROVIDER_URL
15 else
16   Rails.application.config.middleware.use OmniAuth::Builder do
17     provider(:josh_id,
18              Rails.configuration.Login["ProviderAppID"],
19              Rails.configuration.Login["ProviderAppSecret"],
20              Rails.configuration.Services["SSO"]["ExternalURL"])
21   end
22   OmniAuth.config.on_failure = StaticController.action(:login_failure)
23 end