Commit 568d1c27c5a1b4d6749943240cdba2625eee2b6e

Authored by Raffael Schmid
1 parent e2dbe0fa

refactor omniauth configuration method

This refactoring allows a user to use omniauth providers which do not
use ```app_id``` and ```app_secret``` without needing to change the
devise configuration.
Showing 1 changed file with 10 additions and 4 deletions   Show diff stats
config/initializers/devise.rb
... ... @@ -227,15 +227,21 @@ Devise.setup do |config|
227 227 end
228 228  
229 229 Gitlab.config.omniauth.providers.each do |provider|
  230 + provider_arguments = []
  231 +
  232 + %w[app_id app_secret].each do |argument|
  233 + provider_arguments << provider[argument] if provider[argument]
  234 + end
  235 +
230 236 case provider['args']
231 237 when Array
232 238 # An Array from the configuration will be expanded.
233   - config.omniauth provider['name'].to_sym, provider['app_id'], provider['app_secret'], *provider['args']
  239 + provider_arguments.concat provider['args']
234 240 when Hash
235 241 # A Hash from the configuration will be passed as is.
236   - config.omniauth provider['name'].to_sym, provider['app_id'], provider['app_secret'], provider['args']
237   - else
238   - config.omniauth provider['name'].to_sym, provider['app_id'], provider['app_secret']
  242 + provider_arguments << provider['args']
239 243 end
  244 +
  245 + config.omniauth provider['name'].to_sym, *provider_arguments
240 246 end
241 247 end
... ...