Skip to content

GH Issue 1644: Hash verification tokens and expire setup and reset links - #3262

Merged
labkey-adam merged 1 commit into
developfrom
fb_hash_verification_tokens_1644
Oct 25, 2026
Merged

labkey-adam merged 1 commit into
developfrom
fb_hash_verification_tokens_1644

Conversation

@labkey-adam

@labkey-adam labkey-adam commented Oct 21, 2026 •

Copy link
Copy Markdown
Contributor

Rationale

Best practice to hash verification links and expire them. GH Issue 1644

Related Pull Requests

@labkey-adam labkey-adam changed the title Database readers can take over accounts that have a pending setup or … GH Issue 1644: Hash verification tokens and expire setup and reset links- #8211 Oct 22, 2026
@labkey-adam labkey-adam changed the title GH Issue 1644: Hash verification tokens and expire setup and reset links- #8211 GH Issue 1644: Hash verification tokens and expire setup and reset links Oct 22, 2026
@labkey-adam
labkey-adam merged commit 1abff24 into develop Oct 25, 2026
12 checks passed
@labkey-adam
labkey-adam deleted the fb_hash_verification_tokens_1644 branch October 25, 2026 20:29
labkey-adam added a commit to LabKey/platform that referenced this pull request Oct 25, 2026
…nks (#8211)

## Rationale
Store only a hash of the setup, password-reset, and email-change
verification tokens and expire setup and reset links, so that database
contents alone can't be used to take over an account. [GH Issue
1644](LabKey/internal-issues#1644)

## Related Pull Requests
- LabKey/testAutomation#3262

## Changes
- Verification tokens are stored as SHA-256 hashes; an upgrade script
hashes existing tokens in place
- Setup links expire after seven days and reset links after one day;
existing pending links expire seven days after upgrade
- Verification tokens expire but are not deleted at expiration. This
lets us distinguish already-used vs. never-used tokens to provide
accurate user messaging.
- Tokens no longer appear in user history or the server log
- Because stored tokens can't be read back, the "show email" page masks
the link; site admins can generate a new link there, which replaces the
one already sent
- Add a new email template substitution that conveys token expiration.
Update default templates with expiration text.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants