Sha256: 37441de28fd0887d08884c027471af096f447b8a61e4971dc3626a2f4164a2f1

Contents?: true

Size: 1.27 KB

Versions: 19

Compression:

Stored size: 1.27 KB

Contents

require 'rails_base/configuration/base'

module RailsBase
  module Configuration
    class Authentication < Base
      DEFAULT_SESSION = 60.days
      MIN_SESSION = 5.minutes

      DEFAULT_MFA_TIME = 7.day
      MIN_MFA_TIME = 1.day

      DEFAULT_VALUES = {
        session_timeout: {
          type: :duration,
          default: ENV.fetch('SESSION_TIMEOUT_IN_SECONDS', DEFAULT_SESSION).to_i.seconds,
          custom: ->(val) { val.to_i >= MIN_SESSION },
          msg: "session_timeout must be a duration. Greater than #{MIN_SESSION}",
          on_assignment: ->(val, _instance) { Devise.timeout_in = val },
          description: 'Debug purposes. How long to keep admin_velocity_max attempts',
        },
        session_timeout_warning: {
          type: :boolean,
          default: true,
          description: 'Display a timeout warning. When disabled, user will be logged out without warning',
        },
        mfa_time_duration: {
          type: :duration,
          default: DEFAULT_MFA_TIME,
          custom: ->(val) { val.to_i > MIN_MFA_TIME },
          msg: "mfa_time_duration must be a duration. Greater than #{MIN_MFA_TIME}",
          description: 'Max time between when MFA will be required',
        }
      }
      attr_accessor *DEFAULT_VALUES.keys
    end
  end
end

Version data entries

19 entries across 19 versions & 1 rubygems

Version Path
rails_base-0.72.1 lib/rails_base/configuration/authentication.rb
rails_base-0.72.0 lib/rails_base/configuration/authentication.rb
rails_base-0.71.0 lib/rails_base/configuration/authentication.rb
rails_base-0.70.1.pre lib/rails_base/configuration/authentication.rb
rails_base-0.70.0 lib/rails_base/configuration/authentication.rb
rails_base-0.61.0 lib/rails_base/configuration/authentication.rb
rails_base-0.60.0 lib/rails_base/configuration/authentication.rb
rails_base-0.58.0 lib/rails_base/configuration/authentication.rb
rails_base-0.57.0 lib/rails_base/configuration/authentication.rb
rails_base-0.56.0 lib/rails_base/configuration/authentication.rb
rails_base-0.55.0 lib/rails_base/configuration/authentication.rb
rails_base-0.54.0 lib/rails_base/configuration/authentication.rb
rails_base-0.53.1 lib/rails_base/configuration/authentication.rb
rails_base-0.53.0 lib/rails_base/configuration/authentication.rb
rails_base-0.52.3 lib/rails_base/configuration/authentication.rb
rails_base-0.52.1 lib/rails_base/configuration/authentication.rb
rails_base-0.52.0 lib/rails_base/configuration/authentication.rb
rails_base-0.51.1 lib/rails_base/configuration/authentication.rb
rails_base-0.51.0 lib/rails_base/configuration/authentication.rb