Module: Rails::Auth::ConfigBuilder
Overview
Configures Rails::Auth middleware for use in a Rails application
Instance Method Summary collapse
-
#application(config, acl_file: Rails.root.join("config/acl.yml"), matchers: {}) ⇒ Object
Application-level configuration (i.e. config/application.rb).
-
#development(config, development_credentials: {}, error_page: :debug) ⇒ Object
Development configuration (i.e. config/environments/development.rb).
- #production(config, cert_filters: nil, require_cert: false, ca_file: nil, error_page: Rails.root.join("public/403.html"), monitor: nil) ⇒ Object
-
#test(config) ⇒ Object
Test configuration (i.e. config/environments/test.rb).
Instance Method Details
#application(config, acl_file: Rails.root.join("config/acl.yml"), matchers: {}) ⇒ Object
Application-level configuration (i.e. config/application.rb)
8 9 10 11 12 13 14 15 |
# File 'lib/rails/auth/config_builder.rb', line 8 def application(config, acl_file: Rails.root.join("config/acl.yml"), matchers: {}) config.x.rails_auth.acl = Rails::Auth::ACL.from_yaml( File.read(acl_file.to_s), matchers: matchers ) config.middleware.use Rails::Auth::ACL::Middleware, acl: config.x.rails_auth.acl end |
#development(config, development_credentials: {}, error_page: :debug) ⇒ Object
Development configuration (i.e. config/environments/development.rb)
18 19 20 21 |
# File 'lib/rails/auth/config_builder.rb', line 18 def development(config, development_credentials: {}, error_page: :debug) error_page_middleware(config, error_page) credential_injector_middleware(config, development_credentials) unless development_credentials.empty? end |
#production(config, cert_filters: nil, require_cert: false, ca_file: nil, error_page: Rails.root.join("public/403.html"), monitor: nil) ⇒ Object
29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 |
# File 'lib/rails/auth/config_builder.rb', line 29 def production( config, cert_filters: nil, require_cert: false, ca_file: nil, error_page: Rails.root.join("public/403.html"), monitor: nil ) raise ArgumentError, "no cert_filters given but require_cert is true" if require_cert && !cert_filters raise ArgumentError, "no ca_file given but cert_filters were set" if cert_filters && !ca_file error_page_middleware(config, error_page) if cert_filters config.middleware.insert_before Rails::Auth::ACL::Middleware, Rails::Auth::X509::Middleware, require_cert: require_cert, cert_filters: cert_filters, ca_file: ca_file, logger: Rails.logger end return unless monitor config.middleware.insert_before Rails::Auth::ACL::Middleware, Rails::Auth::Monitor::Middleware, monitor end |
#test(config) ⇒ Object
Test configuration (i.e. config/environments/test.rb)
24 25 26 27 |
# File 'lib/rails/auth/config_builder.rb', line 24 def test(config) # Simulated credentials to be injected with InjectorMiddleware credential_injector_middleware(config, config.x.rails_auth.test_credentials ||= {}) end |