Skip to content

[draft/wip] Fxa 13142 pt 2 - #21116

Draft
nshirley wants to merge 1 commit into
FXA-13142-1from
FXA-13142-2
Draft

[draft/wip] Fxa 13142 pt 2#21116
nshirley wants to merge 1 commit into
FXA-13142-1from
FXA-13142-2

Conversation

@nshirley

Copy link
Copy Markdown
Contributor

Because

This pull request

Issue that this pull request solves

Closes: (issue number)

Checklist

Put an x in the boxes that apply

  • My commit is GPG signed.
  • If applicable, I have modified or added tests which pass locally.
  • I have added necessary documentation (if appropriate).
  • I have verified that my changes render correctly in RTL (if appropriate).
  • I have manually reviewed all AI generated code.

How to review (Optional)

  • Key files/areas to focus on:
  • Suggested review order:
  • Risky or complex parts:

Screenshots (Optional)

Please attach the screenshots of the changes made in case of change in user interface.

Other information (Optional)

Any other information that is important to this pull request.

@nshirley
nshirley changed the base branch from main to FXA-13142-1 August 27, 2026 18:30
Because:
* A passkey needs somewhere to store the envelope that unlocks kB without a
  password.
* Gating the write on a verification proof rather than the MFA scope avoids
  exposing one capability at two auth levels.

This commit:
* Adds POST /passkey/keys behind the passwordless sync flag, with exact-width
  validation for the five envelope fields.
* Spends the proof after every other check, so a rejected payload costs the user
  no extra device prompt.
* Returns 201 on insert, 200 on an identical repeat, 409 on a different one.
* Checks only that the credential exists and is owned; `prfEnabled` is a
  best-guess column and no basis for refusing a verified write.
* Lets recordSecurityEvent carry additionalInfo, so a new failure reason needs no
  new event name.
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.

1 participant