Repository navigation
Skip TOTP after verified passkey sign-in - #774
Conversation
A passkey assertion already requires possession plus user verification, so treat it as MFA-complete and issue the session without the /verify step. Password and social logins still challenge when 2FA is enabled.
|
No actionable comments were generated in the recent review. 🎉 ℹ️ Recent review info⚙️ Run configurationConfiguration used: defaults Review profile: CHILL Plan: Pro Plus Run ID: 📒 Files selected for processing (7)
💤 Files with no reviewable changes (1)
📝 WalkthroughWalkthroughPasskey authentication now treats a verified WebAuthn assertion as MFA-complete, creates the normal auth session directly, and skips TOTP verification. Tests, UI text, and authentication documentation were updated to reflect the new flow. ChangesPasskey MFA flow
Estimated code review effort: 2 (Simple) | ~10 minutes Possibly related PRs
🚥 Pre-merge checks | ✅ 4 | ❌ 1❌ Failed checks (1 warning)
✅ Passed checks (4 passed)
✨ Finishing Touches📝 Generate docstrings
🧪 Generate unit tests (beta)
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
|
🔎 Preview deployed: https://kody-pr-774.kody-a99.workers.dev Worker: Mocks:
|
Summary
Passkey sign-in no longer asks for a TOTP code when two-factor is enabled. A verified WebAuthn assertion already requires possession of the authenticator plus user verification (biometric/PIN), so it is treated as MFA-complete. Password and social logins still challenge through
/verifywhen 2FA is on.Changes
POST /webauthn/authenticationalways issueskody_sessionafter a verified passkey assertion/accounteven with 2FA enabledTest plan
passkey sign-in skips TOTP when two-factor is enabledSystem recap — extends existing primitives (medium risk)
Mode: recap · Base:
main@8e0cafb8· Head:8c67b9bdClassification: extends — passkey authentication on
app-sessionsnow issues a session without the TOTP/verifygate; password and social login behavior is unchanged.Primitives touched
app-sessionsapp-uiSystem map
Passkey login verifies the WebAuthn assertion, then issues
kody_sessionwithout routing through the pendingkody_verify//verifyTOTP step.Legend: green = composes (wiring only) · amber = extended by this PR · red = new primitive · gray = context (unchanged, included only when an edge crosses it).
Change flow
Before / after
requiresTwoFactor: true→/verifyok: true+kody_session/verifyTOTP challengeSummary by CodeRabbit
New Features
Documentation
Tests