Skip to content

Fix Face/Touch recommendation duplicate submission#11608

Merged
aduth merged 2 commits intomainfrom
aduth-webauthn-recommend-dupe-submission
Dec 6, 2024
Merged

Fix Face/Touch recommendation duplicate submission#11608
aduth merged 2 commits intomainfrom
aduth-webauthn-recommend-dupe-submission

Conversation

@aduth
Copy link
Copy Markdown
Contributor

@aduth aduth commented Dec 6, 2024

🛠 Summary of changes

Fixes an edge-case where an error may occur during redirect of skipped Face/Touch Unlock recommendation if user submits multiple times.

Fixes include:

  • Use SubmitButtonComponent which has built-in duplicate submission prevention
  • Provide fallback where nil redirect would otherwise be used

More explanation in related Slack thread: https://gsa-tts.slack.com/archives/C01710KMYUB/p1733496464529579

📜 Testing Plan

Verify no 500 errors in following test flow:

Reconfigure to force recommendation A/B test to always be visible:

# config/application.yml
recommend_webauthn_platform_for_sms_ab_test_account_creation_percent: 100
  1. Go to http://localhost:3000
  2. Click "Create an account"
  3. Continue account creation up to MFA selection screen
  4. At MFA selection screen, emulate mobile device using Chrome DevTools device emulation
  5. Refresh the page
  6. Select phone as your sole MFA
  7. Setup phone
  8. At Face/Touch recommendation screen, configure Chrome DevTools network throttling to slow network speed to more easily simulate the example
  9. Click "Skip" multiple times in quick succession
  10. Observe that you don't encounter an error

aduth added 2 commits December 6, 2024 12:43
changelog: Bug Fixes, Face/Touch Recommendation, Fix edge case for duplicate submission in recommendation
@aduth aduth requested a review from a team December 6, 2024 18:04
@aduth aduth merged commit 078470c into main Dec 6, 2024
@aduth aduth deleted the aduth-webauthn-recommend-dupe-submission branch December 6, 2024 18:36
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