Password Reset

Configure and manage password reset flows in Authority.

User Self-Service Reset

Reset Flow

  1. User clicks Forgot Password on login page

  2. Enters email address

  3. Receives reset link via email

  4. Clicks link and sets new password

  5. Logs in with new password

Request Reset

Users visit /forgot-password and enter their email.

Reset Email

Authority sends an email with a secure reset link:

Subject: Reset your password

Click the link below to reset your password:
https://auth.example.com/reset-password?token=abc123...

This link expires in 1 hour.

If you didn't request this, ignore this email.

Configuration

Environment Variables

Variable
Default
Description

PASSWORD_RESET_TTL

3600

Reset token lifetime (seconds)

PASSWORD_RESET_EMAIL_SUBJECT

Reset your password

Email subject

Email Template

Customize the reset email in public/templates/emails/password-reset.html:

Admin Password Reset

Reset via Dashboard

  1. Navigate to Admin DashboardUsers

  2. Select the user

  3. Click Reset Password

  4. Choose:

    • Send Reset Email - User receives email

    • Set Password - Admin sets new password

Reset via API

Send Reset Email

Set Password Directly

circle-exclamation

Security Considerations

Rate Limiting

Prevent abuse of reset endpoint:

This allows 3 reset requests per hour per email.

Token Security

Reset tokens are:

  • Single-use

  • Time-limited

  • Cryptographically random

  • Invalidated on password change

Email Enumeration Protection

Don't reveal if email exists:

Response is always:

Audit Trail

Password reset events are logged:

Event
Description

password.reset_requested

Reset email requested

password.reset_sent

Reset email sent

password.reset_completed

Password was reset

password.reset_failed

Reset attempt failed

Customization

Reset Page Styling

Customize public/templates/reset-password.html:

Success Page

After successful reset, show:

Troubleshooting

Email Not Received

  • Check spam folder

  • Verify email configuration

  • Check logs for sending errors

  • Confirm email address is correct

Token Expired

  • Request new reset link

  • Check PASSWORD_RESET_TTL setting

Password Not Accepted

  • Verify password meets policy requirements

  • Check password history restrictions

Integration

Custom Reset Flow

For custom applications:

Next Steps

Last updated

Was this helpful?