lib/ditty/services/authentication.rb in ditty-0.6.0 vs lib/ditty/services/authentication.rb in ditty-0.7.0.pre.rc1

- old
+ new

@@ -1,27 +1,37 @@ require 'ditty/models/identity' -require 'ditty/controllers/main' +require 'ditty/controllers/auth' require 'ditty/services/settings' require 'ditty/services/logger' require 'omniauth' OmniAuth.config.logger = Ditty::Services::Logger.instance +OmniAuth.config.path_prefix = "#{Ditty::Application.map_path}/auth" OmniAuth.config.on_failure = proc { |env| + next [400, {}, []] if env['HTTP_X_REQUESTED_WITH'] == 'XMLHttpRequest' OmniAuth::FailureEndpoint.new(env).redirect_to_failure } module Ditty module Services module Authentication class << self + def [](key) + config[key] + end + def providers - config.keys + config.compact.keys end def setup providers.each do |provider| - require "omniauth/#{provider}" + begin + require "omniauth/#{provider}" + rescue LoadError + require "omniauth-#{provider}" + end end end def config default.merge Ditty::Services::Settings.values(:authentication) || {} @@ -35,16 +45,15 @@ { identity: { arguments: [ { fields: [:username], - callback_path: '/auth/identity/callback', model: Ditty::Identity, - on_login: Ditty::Main, - on_registration: Ditty::Main, + on_login: Ditty::Auth, + on_registration: Ditty::Auth, locate_conditions: ->(req) { { username: req['username'] } } } - ], + ] } } end end end