Bind enrolled passkeys to the upstream Gitea identity #1449

Merged
timmy merged 1 commits from timmy/1448-bind-passkeys-upstream-identity into main 2026-08-27 00:25:10 +00:00
Owner

Summary

  • migrate passkey credentials to carry the stable upstream principal ID
  • filter enrollment, sign-in, step-up, management, and revocation by that principal
  • fail legacy unbound credentials closed and preserve other principals during sign-out-all

Verification

  • RED: store binding test failed on missing principal_id
  • RED: cross-principal sign-in test failed because passkeys were global
  • RED: scoped global revocation test failed on unsupported principal scope
  • GREEN: python3 -m pytest tests/ -q — 2762 passed, 27 skipped
  • python3 -m pip_audit -r requirements.txt --strict — no known vulnerabilities
  • git diff --check and compileall passed

Closes #1448

## Summary - migrate passkey credentials to carry the stable upstream principal ID - filter enrollment, sign-in, step-up, management, and revocation by that principal - fail legacy unbound credentials closed and preserve other principals during sign-out-all ## Verification - RED: store binding test failed on missing `principal_id` - RED: cross-principal sign-in test failed because passkeys were global - RED: scoped global revocation test failed on unsupported principal scope - GREEN: `python3 -m pytest tests/ -q` — 2762 passed, 27 skipped - `python3 -m pip_audit -r requirements.txt --strict` — no known vulnerabilities - `git diff --check` and `compileall` passed Closes #1448
timmy added 1 commit 2026-08-27 00:13:22 +00:00
security: bind passkeys to upstream identity (Closes #1448)
All checks were successful
CI / lint (pull_request) Successful in 3m52s
CI / build-release (pull_request) Successful in 7s
CI / browser-journey (pull_request) Successful in 7m15s
CI / release-candidate (pull_request) Has been skipped
43b0216bda
timmy merged commit c2b7ce67d8 into main 2026-08-27 00:25:10 +00:00
timmy deleted branch timmy/1448-bind-passkeys-upstream-identity 2026-08-27 00:25:10 +00:00
Sign in to join this conversation.
No reviewers
No Milestone
No project
No Assignees
1 Participants
Notifications
Due Date
The due date is invalid or out of range. Please use the format 'yyyy-mm-dd'.

No due date set.

Dependencies

No dependencies set.

Reference: stackchain/stackchain-dashboard#1449
No description provided.