Sha256: ff4a829479c3ed72b94d7f9707df1280f2b4ddb563fc713478851b1db32da0ec
Contents?: true
Size: 1.78 KB
Versions: 2
Compression:
Stored size: 1.78 KB
Contents
# frozen_string_literal: true require 'ditty/controllers/application_controller' require 'ditty/services/settings' require 'ditty/services/logger' require 'backports/2.4.0/hash/compact' require 'omniauth' OmniAuth.config.logger = ::Ditty::Services::Logger OmniAuth.config.path_prefix = "#{::Ditty::ApplicationController.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.compact.keys end def setup providers.each do |provider| req = config.dig(provider, :require) || "omniauth/#{provider}" begin require req rescue LoadError require "omniauth-#{provider}" end end end def config default.merge ::Ditty::Services::Settings.values(:authentication) || {} end def provides?(provider) providers.include? provider.to_sym end def default require 'ditty/models/identity' require 'ditty/controllers/auth_controller' { identity: { arguments: [ { fields: [:username], model: ::Ditty::Identity, on_login: ::Ditty::AuthController, on_registration: ::Ditty::AuthController, locate_conditions: ->(req) { { username: req['username'] } } } ] } } end end end end end ::Ditty::Services::Authentication.setup
Version data entries
2 entries across 2 versions & 1 rubygems
Version | Path |
---|---|
ditty-0.9.1 | lib/ditty/services/authentication.rb |
ditty-0.9.0 | lib/ditty/services/authentication.rb |