-
Notifications
You must be signed in to change notification settings - Fork 6
Implement WebAuthn signals #96
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: main
Are you sure you want to change the base?
Implement WebAuthn signals #96
Conversation
Codecov Report✅ All modified and coverable lines are covered by tests. Additional details and impacted files@@ Coverage Diff @@
## main #96 +/- ##
=======================================
Coverage 100.0% 100.0%
=======================================
Files 13 13
Lines 747 777 +30
Branches 65 65
=======================================
+ Hits 747 777 +30 ☔ View full report in Codecov by Sentry. 🚀 New features to boost your workflow:
|
Refs: Stormbase#38 This uses the `PublicKeyCredential.signalCurrentUserDetails` and `PublicKeyCredential.signalAllAcceptedCredentials` browser apis to 'sync' user details like name and currently registered credentials. This is useful to stop the browser from suggesting a credential was removed and to ensure saved information like a username remains up-to-date.
And update `playwright_force_login` to use it.
To support waiting for multiple messages at the same time. This code was 90% generated by Copilot.
...during passkey verification through the button.
Don't need no noise.
643e81f to
2a840eb
Compare
`render_otp_webauthn_sync_signals_scripts`
461f2a6 to
4d7af41
Compare
4d7af41 to
39f3153
Compare
| How does this work from a technical perspective? | ||
| ------------------------------------------------ | ||
|
|
||
| The ``render_otp_webauthn_sync_signals_scripts`` template tag is a convenience | ||
| wrapper that ends up calling the | ||
| ``PublicKeyCredential.signalAllAcceptedCredentials`` and | ||
| ``PublicKeyCredential.signalCurrentUserDetails`` WebAuthn browser APIs. It | ||
| automatically retrieves a list of currently registered credentials and the | ||
| current user details in the format these APIs expect. | ||
|
|
||
| For more information about these APIs, refer to the following resources: | ||
|
|
||
| - `PublicKeyCredential.signalCurrentUserDetails <https://developer.mozilla.org/en-US/docs/Web/API/PublicKeyCredential/signalCurrentUserDetails_static>`_ | ||
| - `PublicKeyCredential.signalAllAcceptedCredentials <https://developer.mozilla.org/en-US/docs/Web/API/PublicKeyCredential/signalAllAcceptedCredentials_static>`_ | ||
|
|
||
| .. note:: | ||
|
|
||
| As of November 2025, these APIs are still relatively new and don't enjoy | ||
| broad support from all browsers. Please see `Web authentication signal | ||
| methods on caniuse.com <https://caniuse.com/wf-webauthn-signals>`_ for the | ||
| most up-to-date browser support information. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
We should move this to the Reference section of the docs and link to it here.
Thank you Damilola for your editing! Co-authored-by: Damilola Oladele <98895460+activus-d@users.noreply.github.com>
for more information, see https://pre-commit.ci
activus-d
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Let's make this consistent with the preceding headings:
Refs: #38