# Login

**Test family:** `AUT`

- **AUT-001** Valid active user reaches the intended post-login destination exactly once.
- **AUT-002** Invalid username, invalid password, empty fields, locked/disabled/deleted/unverified user return safe, useful, non-enumerating errors.
- **AUT-003** Username/email case and normalization match registration and recovery rules.
- **AUT-004** Submit by button and Enter; repeated submit, slow response, timeout, retry, and browser refresh never create inconsistent session state.
- **AUT-005** Intended return URL survives authentication but rejects external/open-redirect destinations.
- **AUT-006** Authenticated user visiting login is redirected safely without losing a pending action.
- **AUT-007** Rate limits apply by suitable account/device/network dimensions, recover predictably, and resist account lockout abuse.
- **AUT-008** Error text, timing, status codes, and recovery behavior do not reveal account existence beyond policy.
- **AUT-009** Password managers/autofill work; secret fields are not logged, cached, or placed in URLs.
- **AUT-010** Session cookie/token uses secure transport, appropriate SameSite/domain/path/expiry, rotation, and revocation.

## Comprehensive per-item coverage

- **AUT-011** Exercise new, active, unverified, invited, suspended, locked, disabled, deleted, merged, and partially provisioned identities.
- **AUT-012** Use identifiers containing ASCII emoticons, emoji/ZWJ sequences, kaomoji, accents, mixed scripts, RTL, confusables, invisible characters, and boundary lengths.
- **AUT-013** Compare absent, unknown, malformed, valid, expired, revoked, replayed, and wrong-tenant credentials or identifiers without account enumeration.
- **AUT-014** Use UI, API, SSO, SCIM, invitation, import, admin, recovery, and migration paths; converge on one identity and policy model.
- **AUT-015** Test exact duplicates, case variants, normalization equivalents, alias collisions, recycled identifiers, and concurrent creation atomically.
- **AUT-016** Change username, email, phone, external subject, team, role, owner, and tenant; preserve links, history, authorization, and audit.
- **AUT-017** Change role or account state between rendering, authentication, challenge, and commit; reauthorize the final operation.
- **AUT-018** Attempt cross-user and cross-tenant lookup, suggestion, recovery, invite, export, cache, and error paths; reveal no hidden existence or data.
- **AUT-019** Brute-force, credential-stuff, enumerate, resend, and lock accounts within a safe test envelope; balance abuse resistance and denial-of-service risk.
- **AUT-020** Race login, logout, password reset, MFA reset, email change, suspension, deletion, and session refresh; define which security state wins.
- **AUT-021** Retry after timeout and replay old links, codes, tokens, signed requests, and callbacks; enforce expiry, audience, nonce, and one-time use.
- **AUT-022** Verify current and remembered sessions, trusted devices, refresh tokens, API tokens, and linked providers after each security-sensitive change.
- **AUT-023** Force identity provider outage, delayed email/SMS, expired admin session, partial provisioning, and rollback failure; provide a recoverable state.
- **AUT-024** Use keyboard, password managers, autofill, screen readers, zoom/reflow, translated errors, RTL, and mobile keyboards without weakening security.
- **AUT-025** Inspect URL, referrer, DOM, storage, clipboard, logs, traces, analytics, support tools, notifications, exports, and screenshots for credential or PII leakage.
- **AUT-026** Notify the right channels of sensitive changes without including secrets or actionable one-time credentials.
- **AUT-027** Record actor, authority, target, old/new security state, request/trace ID, time, source, and outcome in tamper-resistant audit.
- **AUT-028** Measure authentication, directory lookup, authorization, provisioning, and revocation latency at normal and supported load.
- **AUT-029** Delete, anonymize, retain, restore, export, and merge identities according to legal and product policy without orphaning ownership.
- **AUT-030** Test stale clients, clock skew, region failover, cache lag, and key rotation; fail closed for authorization while preserving recovery.

[Back to Authentication, people, and access index](../../auth-people-access.md)
