An unverified address claim lives for ever and blocks the real holder from registering it #891
Labels
No labels
accessibility
authentication
breaking change
bug
documentation
enhancement
interface
internationalisation
observability
performance
security
tier
1
tier
2
tier
3
tier/4
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set
Reference
Postulo/postulo#891
Loading…
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
#731 stops a reset key, a sign-in code and (with #730) a single sign-on login from reaching an account that only claims an address. The claim itself is still stored for ever, and still has an effect on the person it was made against.
What exists today
/accounts/email/stores any address nobody holds as an unverifiedEmailAddresson the account that asked, and keeps it until that account removes it; nothing expires it. The page stays reachable with the several-addresses feature switched off (accounts/addresses.is_offeredonly hides the link).assess_unique_email(account/internal/flows/manage_email.py) answers a sign-up for such an address with a redirect to the verification page and creates no account. The real holder can never register it, and is told to use the password reset, which (since #731) now mails them no account for this address.What would change
tests/securitycase: claim an address, then register it as another person.Decisions
ACCOUNT_EMAIL_CONFIRMATION_EXPIRE_DAYS, three days).Found while fixing #731 (checked against
mainat8c3d03570plus that fix).postulo.log#979