Authentication flows and recovery
Normal login flow
- User submits email and password.
- The system verifies the user is active and the account is active.
- Password is validated. Failed attempts are tracked.
- Password expiration is checked (90-day lifetime).
- Single-session enforcement is checked.
- Concurrent seat limits are checked.
- If all checks pass, a secure session cookie is issued.
Password reset flow
- User submits their email on the Forgot Password page.
- If the email matches an active user, a reset email is sent. For security, the response is the same whether or not the email exists.
- The email contains a unique, single-use reset link.
- User clicks the link and sets a new password.
- The new password is validated (cannot match any of the last 5 passwords).
- On success, the user is redirected to the Login page.