EmailAccountConfig constructor

EmailAccountConfig({
  1. Duration registrationVerificationCodeLifetime = const Duration(minutes: 15),
  2. int registrationVerificationCodeAllowedAttempts = 3,
  3. String registrationVerificationCodeGenerator() = defaultVerificationCodeGenerator,
  4. Duration passwordResetVerificationCodeLifetime = const Duration(minutes: 15),
  5. int passwordResetVerificationCodeAllowedAttempts = 3,
  6. String passwordResetVerificationCodeGenerator() = defaultVerificationCodeGenerator,
  7. SendRegistrationVerificationCodeFunction? sendRegistrationVerificationCode,
  8. SendPasswordResetVerificationCodeFunction? sendPasswordResetVerificationCode,
  9. RateLimit failedLoginRateLimit = (maxAttempts: 5, timeframe: const Duration(minutes: 5)),
  10. PasswordValidationFunction passwordValidationFunction = defaultRegistrationPasswordValidationFunction,
  11. RateLimit maxPasswordResetAttempts = (timeframe: const Duration(hours: 1), maxAttempts: 3),
  12. int passwordHashSaltLength = 16,
})

Create a new email account configuration.

Set current to apply this configuration.

Implementation

EmailAccountConfig({
  this.registrationVerificationCodeLifetime = const Duration(minutes: 15),
  this.registrationVerificationCodeAllowedAttempts = 3,
  this.registrationVerificationCodeGenerator =
      defaultVerificationCodeGenerator,
  this.passwordResetVerificationCodeLifetime = const Duration(minutes: 15),
  this.passwordResetVerificationCodeAllowedAttempts = 3,
  this.passwordResetVerificationCodeGenerator =
      defaultVerificationCodeGenerator,
  this.sendRegistrationVerificationCode,
  this.sendPasswordResetVerificationCode,
  this.failedLoginRateLimit = (
    maxAttempts: 5,
    timeframe: const Duration(minutes: 5),
  ),
  this.passwordValidationFunction =
      defaultRegistrationPasswordValidationFunction,
  this.maxPasswordResetAttempts = (
    timeframe: const Duration(hours: 1),
    maxAttempts: 3,
  ),
  this.passwordHashSaltLength = 16,
});