Part of the Passkeys project. Parent: #36. Depends on #32 (password reset) and the authentication ceremony.
Scope
Define and implement what happens when a customer loses access to their authenticator, and how passkeys and passwords interact.
Questions this issue exists to settle
When a customer completes a password reset, are their passkeys left intact, or revoked? Revoking is safer if the account was compromised; keeping them is friendlier if they simply forgot a password.
Password reset already terminates all other sessions. Should it also terminate passkey-established sessions? (It should — they are the same customer_sessions rows, so this likely falls out for free, but it needs asserting rather than assuming.)
Is there any recovery path for a customer who has passkeys and has also lost access to their email?
If passkey-only accounts are ever offered, what replaces password reset as the recovery route?
Why this is a separate issue
Every other issue in this project adds a capability. This one is the safety net, and it is the piece most likely to be skipped under time pressure and most expensive to discover missing — a customer locked out of a real account with real order history.
Part of the Passkeys project. Parent: #36. Depends on #32 (password reset) and the authentication ceremony.
## Scope
Define and implement what happens when a customer loses access to their authenticator, and how passkeys and passwords interact.
## Questions this issue exists to settle
- When a customer completes a password reset, are their passkeys left intact, or revoked? Revoking is safer if the account was compromised; keeping them is friendlier if they simply forgot a password.
- Password reset already terminates all other sessions. Should it also terminate passkey-established sessions? (It should — they are the same `customer_sessions` rows, so this likely falls out for free, but it needs asserting rather than assuming.)
- Is there any recovery path for a customer who has passkeys and has also lost access to their email?
- If passkey-only accounts are ever offered, what replaces password reset as the recovery route?
## Why this is a separate issue
Every other issue in this project adds a capability. This one is the safety net, and it is the piece most likely to be skipped under time pressure and most expensive to discover missing — a customer locked out of a real account with real order history.
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.
Part of the Passkeys project. Parent: #36. Depends on #32 (password reset) and the authentication ceremony.
Scope
Define and implement what happens when a customer loses access to their authenticator, and how passkeys and passwords interact.
Questions this issue exists to settle
customer_sessionsrows, so this likely falls out for free, but it needs asserting rather than assuming.)Why this is a separate issue
Every other issue in this project adds a capability. This one is the safety net, and it is the piece most likely to be skipped under time pressure and most expensive to discover missing — a customer locked out of a real account with real order history.