Capability

Password Lifecycle

Change, forgot, and reset — three safe flows on one engine.

Users change their password, request a reset, and complete it through a single email link — all under the same gateway that runs login, MFA, and conditional access. Every flow is CSRF-protected, every reset link is single-use with a short time window, and every recipient identifier is masked on the UI so a stolen password cannot reveal where the reset email is going. Complexity, expiry, and history rules stay with the identity provider that owns the credential. AAM-level central policy that overlays all providers is on the roadmap.

3
Coordinated lifecycle flows (change, forgot, reset)
30s
Single-use action token open window
0
Passwords stored outside the identity provider

Password resets are the quiet weak point in most access stacks

The password reset flow is one of the most-targeted paths in any authentication system. Attackers know that if they can trigger a reset email to an address they control — or replay a leaked reset link, or stuff the change form with a stolen session — they bypass every login-time defense the platform offers.

Many gateways treat reset as an afterthought: long-lived reset links, plaintext recipient addresses in the UI, password change forms without CSRF, and no audit on who reset what when. Each of these is a small gap; together they form a parallel side door to the front-door MFA wall.

The other extreme — making password operations clunky and admin-only — produces help-desk floods, post-it notes with shared admin passwords, and users who never rotate credentials because the process is too painful.

Password operations should be self-service, safe, and audited end-to-end — the same engine that defends login should defend the change, the forgot, and the reset.

How we approach it

Three coordinated flows, each running on the same gateway as login and MFA.

Authenticated change for the user who knows their password

A signed-in user changes their password by providing the current one and the new one. Action tokens, CSRF protection, and short single-use windows defend the change form against session-replay and cross-site abuse, and the operation lives in the same audit stream as every other access decision.

Forgot-password request without leaking identity

A user who cannot sign in enters their identifier on the forgot form. The UI does not confirm whether the account exists — it always shows the same neutral response — and the reset email is delivered through the configured identity provider so the address is never exposed back to the requester.

Reset via single-use email token

The reset link carries a Redis-stored token that is single-use and time-bounded. Once consumed, the token is invalidated; once the window expires, the link is dead. Replaying a leaked reset URL fails, and the original requester has a clear path to start over.

Every operation is in the audit log

Change attempts, forgot requests, reset link consumptions, and policy denials all write structured audit entries. The audit stream feeds into the platform's SIEM target so help-desk patterns, anomaly spikes, and individual incidents are visible from the same timeline as login telemetry.

Capabilities

The three flows in detail — plus the policy expansion on the roadmap.

Authenticated password change with current-password verification

A signed-in user opens the change form, provides the current password plus the new one, and the gateway verifies the current value through the configured identity provider before applying the new value. CSRF tokens, single-use action tokens with a short TTL, and audit logging protect the entire transaction.

Forgot-password request flow with neutral response

An anonymous user enters their identifier on the forgot form. The response is identical whether the account exists or not — no account enumeration leak, no different error paths. If the identifier matches a real account, the configured identity provider generates a reset token and sends it to the user's registered address.

Email reset link with single-use token and short window

Reset links carry a Redis-stored token validated by the gateway on link arrival. Tokens are single-use and time-bounded — once consumed the token is invalidated, and once the configured window expires the link stops working. Replaying a leaked link or a forwarded email after the window fails cleanly.

Recipient masking on every UI surface

Email addresses, phone numbers, and identifier values shown back to the user during forgot and reset flows are always masked. An attacker who has the password but not the inbox cannot read the destination address; a user looking over the shoulder of another cannot harvest contact details.

Provider abstraction — passwords stay where they belong

AAM does not store passwords directly. The change, forgot, and reset actions delegate to the identity provider that owns the credential — LDAP/AD, local database, OIDC pass-through, or another configured provider. The flow stays the same; the storage stays with the provider you already trust.

CSRF protection on every form submission

Every password form — change, forgot, reset — requires a valid CSRF token bound to the user's session or action context. Cross-site requests that try to abuse a logged-in user's password page fail at the gateway before they reach the identity provider.

Roadmap — central complexity policy across providers

Complexity rules — length, character classes, deny-list of weak/leaked passwords, history horizon — are today enforced by each identity provider. A central AAM-level policy that overlays all providers with a single configurable rule set is on the roadmap, so compliance teams can express one policy and have it evaluated for every backend.

Roadmap — expiry rotation and breach-list integration

Password expiry rotation policy and integration with leaked-credential lists (so users cannot set a password known to be in a public breach) are on the roadmap. The same audit stream will record forced-rotation events and breach-list rejections alongside ordinary lifecycle operations.

Operational depth

The mechanics that keep self-service password flows safe at the access edge.

01

Single-use action tokens with short TTL

Password operations use single-use action tokens with deliberately short time windows. A change-form action token lives 30 seconds in its open state; a reset link token lives only as long as the configured window. Replay, link forwarding, and session-token abuse all hit these short windows first.

02

Redis-coordinated token state across gateway pods

Token issuance and consumption live in Redis so any gateway pod can validate any token. Horizontally scaled deployments stay consistent without coordination overhead, and a token consumed on one pod is immediately invalid on every other pod.

03

Identity-provider routing per service

Each service can map its password operations to a different identity provider — LDAP/AD for employees, a local database for contractors, OIDC pass-through for federated identities. The flow surface stays the same; users always see one consistent password experience.

04

Encrypted handling in transit and at rest

Password values travel only over TLS and are never written to logs, never echoed in error messages, and never exposed in the admin console. Operator metadata (last change time, locked status, reset attempts) is visible; the password itself is not.

05

Coordinated with login-attack-protection counters

Failed change attempts, expired reset links, and abusive forgot-form submissions feed the same attempt counters used by the platform's login-attack-protection layer. An attacker cannot brute the change form while a parallel attempt waits at the login page.

06

Roadmap — administrator-mediated recovery flow

A formal admin-mediated recovery flow — for users who have lost access to both their authenticator and their recovery email — is on the roadmap. The flow will re-run identity verification, issue a fresh enrollment, and produce a single audited record of the recovery action.

Where teams use it

Routine self-service rotation

Users rotate their password from the profile page without a help-desk ticket. The same gateway that lets them sign in lets them change credentials, and the operation lands in the audit stream alongside the rest of their session activity.

Forgot-password recovery

A user who cannot sign in requests a reset, completes it through a single-use email link within the configured window, and resumes work. No help-desk involvement, no shared temporary password, no plaintext recovery email lingering as a side door.

Contractor onboarding and offboarding

Contractors join with a forced-change flow on first login and leave with an administrator-triggered reset that immediately invalidates all active sessions. Lifecycle moments produce one audit entry each, visible to the security team.

Compliance evidence on credential handling

PCI-DSS, HIPAA, and ISO 27001 audits look for evidence that password operations are logged, scoped, and not exposed in plaintext. The per-attempt audit stream and the masked-recipient UI together produce that evidence as a byproduct of normal operation.

Common questions

How long does a password-reset email link stay valid?
The reset link is bound to a single-use Redis-stored token with a configurable time window. Typical configurations keep the window between 15 minutes and 1 hour. Once consumed, the token is invalidated; once the window expires, the link stops working. Replaying a forwarded link after the window simply fails.
Does the forgot-password form leak whether an account exists?
No. The response is identical whether the identifier matches a real account or not, and the reset email is delivered only by the configured identity provider — never by an in-page confirmation. Account enumeration through the forgot form is blocked by design.
Where do complexity rules — length, character classes, history — live today?
They are enforced by the identity provider that owns the credential — LDAP/AD, local database, or another configured backend. A central AAM-level policy that overlays all providers with a single configurable rule set is on the roadmap, so compliance teams will be able to express one policy and have it evaluated for every backend.
Can a user change their password while signed in?
Yes. Authenticated users open the change form, supply the current password and the new password, and the gateway verifies the current value through the configured identity provider before applying the change. Action tokens, CSRF protection, and audit logging protect the transaction end to end.
What happens if a user has lost both their password and access to their recovery email?
Today the recovery runs through a help-desk-mediated identity verification flow, with the administrator issuing a fresh enrollment after confirming the user's identity. A formal admin-mediated recovery flow with built-in verification steps and a single audited record is on the roadmap.

Bring password operations into the same engine as login

Change, forgot, and reset — three safe flows, one audit stream, no plaintext side doors. We'll walk through a live deployment on your applications.