Record Class IdServerRateLimitConfiguration

java.lang.Object
java.lang.Record
com.io7m.idstore.server.api.IdServerRateLimitConfiguration
Record Components:
emailVerificationRateLimit - The minimum allowed time between email verifications for a given user
passwordResetRateLimit - The minimum allowed time between password resets
userLoginRateLimit - The minimum time allowed between (user) login attempts for a host
userLoginDelay - A delay applied to each (user) login attempt
adminLoginRateLimit - The minimum time allowed between (admin) login attempts for a host
adminLoginDelay - A delay applied to each (admin) login attempt
All Implemented Interfaces:
IdServerJSONConfigurationElementType

public record IdServerRateLimitConfiguration(Duration emailVerificationRateLimit, Duration passwordResetRateLimit, Duration userLoginRateLimit, Duration userLoginDelay, Duration adminLoginRateLimit, Duration adminLoginDelay) extends Record implements IdServerJSONConfigurationElementType
Configuration for rate limiting.
  • Constructor Details

    • IdServerRateLimitConfiguration

      public IdServerRateLimitConfiguration(Duration emailVerificationRateLimit, Duration passwordResetRateLimit, Duration userLoginRateLimit, Duration userLoginDelay, Duration adminLoginRateLimit, Duration adminLoginDelay)
      Configuration for rate limiting.
      Parameters:
      emailVerificationRateLimit - The minimum allowed time between email verifications for a given user
      passwordResetRateLimit - The minimum allowed time between password resets
      userLoginRateLimit - The minimum time allowed between (user) login attempts for a host
      userLoginDelay - A delay applied to each (user) login attempt
      adminLoginRateLimit - The minimum time allowed between (admin) login attempts for a host
      adminLoginDelay - A delay applied to each (admin) login attempt
  • Method Details

    • toString

      public final String toString()
      Returns a string representation of this record class. The representation contains the name of the class, followed by the name and value of each of the record components.
      Specified by:
      toString in class Record
      Returns:
      a string representation of this object
    • hashCode

      public final int hashCode()
      Returns a hash code value for this object. The value is derived from the hash code of each of the record components.
      Specified by:
      hashCode in class Record
      Returns:
      a hash code value for this object
    • equals

      public final boolean equals(Object o)
      Indicates whether some other object is "equal to" this one. The objects are equal if the other object is of the same class and if all the record components are equal. All components in this record class are compared with Objects::equals(Object,Object).
      Specified by:
      equals in class Record
      Parameters:
      o - the object with which to compare
      Returns:
      true if this object is the same as the o argument; false otherwise.
    • emailVerificationRateLimit

      public Duration emailVerificationRateLimit()
      Returns the value of the emailVerificationRateLimit record component.
      Returns:
      the value of the emailVerificationRateLimit record component
    • passwordResetRateLimit

      public Duration passwordResetRateLimit()
      Returns the value of the passwordResetRateLimit record component.
      Returns:
      the value of the passwordResetRateLimit record component
    • userLoginRateLimit

      public Duration userLoginRateLimit()
      Returns the value of the userLoginRateLimit record component.
      Returns:
      the value of the userLoginRateLimit record component
    • userLoginDelay

      public Duration userLoginDelay()
      Returns the value of the userLoginDelay record component.
      Returns:
      the value of the userLoginDelay record component
    • adminLoginRateLimit

      public Duration adminLoginRateLimit()
      Returns the value of the adminLoginRateLimit record component.
      Returns:
      the value of the adminLoginRateLimit record component
    • adminLoginDelay

      public Duration adminLoginDelay()
      Returns the value of the adminLoginDelay record component.
      Returns:
      the value of the adminLoginDelay record component