Skip to content

fix(auth): migrate local credentials to salted Argon2id (#1432) - #1466

Merged
fit2cloud-chenyw merged 1 commit into
mainfrom
codex/password-hash-migration
Nov 13, 2026
Merged

fit2cloud-chenyw merged 1 commit into
mainfrom
codex/password-hash-migration

Conversation

@fit2cloud-chenyw

Copy link
Copy Markdown
Contributor

Local credentials are stored as unsalted MD5. Use independently salted Argon2id for new credentials, wrap historical MD5 values in a resumable migration, and upgrade verified eligible accounts to direct Argon2id on login without changing their passwords.

Cover initialization, creation/import, resets, password changes, initial-password policy, MCP and token compatibility. Conditional updates protect concurrent resets; API responses exclude credential hashes. Downgrade preserves strong credentials, so old application versions cannot read the new format.

Validation: 99 backend/guard tests passed on head 7f90287; 2 PostgreSQL-only cases skipped in that run. Before the baseline rebase, 38 isolated PostgreSQL cases and 4 password-component Playwright cases passed. The user confirmed historical-account login after applying the compatibility reader. Full host SDK browser handshake, container deployment and target-environment concurrency testing were not performed.

Fixes #1432

@fit2cloud-chenyw

Copy link
Copy Markdown
Contributor Author

LGTM

@fit2cloud-chenyw
fit2cloud-chenyw merged commit 8b4097f into main Nov 13, 2026
2 of 3 checks passed
@fit2cloud-chenyw
fit2cloud-chenyw deleted the codex/password-hash-migration branch November 13, 2026 06:39
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.

Passwords stored as unsalted MD5 hashes

1 participant