Class AnonPasswordResetService

java.lang.Object
dev.getelements.elements.service.user.AnonPasswordResetService
All Implemented Interfaces:
PasswordResetService

public class AnonPasswordResetService extends Object
Anonymous implementation of PasswordResetService.

Both requestReset(java.lang.String, java.lang.String) and completeReset(java.lang.String, java.lang.String) are public operations that require no authentication — the reset flow itself serves as proof of email ownership.

  • Constructor Details

    • AnonPasswordResetService

      public AnonPasswordResetService()
  • Method Details

    • requestReset

      public void requestReset(String email, String resetBaseUrl)
      Description copied from interface: PasswordResetService
      Initiates a password reset for the given email address. Sends a reset email if the email is registered; always returns normally (no user enumeration).
      Parameters:
      email - the email address of the account to reset
      resetBaseUrl - the caller-supplied URL prefix; the service appends ?token=<token>
    • completeReset

      public void completeReset(String token, String newPassword)
      Description copied from interface: PasswordResetService
      Completes the password reset by consuming a single-use token and setting the new password. All existing sessions are automatically invalidated because the password hash changes.
      Parameters:
      token - the opaque reset token from the email link
      newPassword - the new password to set
    • getUserUidDao

      public UserUidDao getUserUidDao()
    • setUserUidDao

      @Inject public void setUserUidDao(UserUidDao userUidDao)
    • getTokenDao

      public PasswordResetTokenDao getTokenDao()
    • setTokenDao

      @Inject public void setTokenDao(PasswordResetTokenDao tokenDao)
    • getUserDao

      public UserDao getUserDao()
    • setUserDao

      @Inject public void setUserDao(UserDao userDao)
    • getEmailService

      public EmailService getEmailService()
    • setEmailService

      @Inject public void setEmailService(EmailService emailService)
    • getElementRegistry

      public ElementRegistry getElementRegistry()
    • setElementRegistry

      @Inject public void setElementRegistry(ElementRegistry elementRegistry)
    • getEmailTemplateService

      public EmailTemplateService getEmailTemplateService()
    • setEmailTemplateService

      @Inject public void setEmailTemplateService(@Named("dev.getelements.elements.service.unscoped") EmailTemplateService emailTemplateService)
    • getExpiryHours

      public String getExpiryHours()
    • setExpiryHours

      @Inject public void setExpiryHours(@Named("dev.getelements.elements.password_reset.expiry_hours") String expiryHours)
    • getPasswordPolicyValidator

      public PasswordPolicyValidator getPasswordPolicyValidator()
    • setPasswordPolicyValidator

      @Inject public void setPasswordPolicyValidator(PasswordPolicyValidator passwordPolicyValidator)