Skip to content

Switch deprecated @github/webauthn-json package to browser methods#119

Merged
julianlam merged 1 commit into
NodeBB:masterfrom
crlm96:navigator-credentials
May 22, 2026
Merged

Switch deprecated @github/webauthn-json package to browser methods#119
julianlam merged 1 commit into
NodeBB:masterfrom
crlm96:navigator-credentials

Conversation

@crlm96
Copy link
Copy Markdown
Contributor

@crlm96 crlm96 commented May 22, 2026

The @github/webauthn-json package was deprecated last year, with the developers recommending the use of built-in browser methods in its place, so I removed the package from the dependencies list and dropped in the equivalent navigator.credentials methods. The package developers say that the browser methods can be used as drop-in replacements since the package's functions were wrappers around those methods, so switching to them should result in no changes for users, especially as the methods have been supported by all major browsers since around 2018-2019.

I tested the plugin changes by attempting to authenticate using 2FA on my local instance, and the plugin worked as expected. I also ran the npm test suite from the head of the main NodeBB repo before and after making the plugin changes, which resulted in a few more tests passing for me locally but no major differences otherwise.

Source for the drop-in nature of the browser methods:
https://github.com/github/webauthn-json#reasoning

Browser compatibility:
https://developer.mozilla.org/en-US/docs/Web/API/CredentialsContainer/create#browser_compatibility
https://developer.mozilla.org/en-US/docs/Web/API/CredentialsContainer/get#browser_compatibility

Package wrapper functions references:
https://github.com/github/webauthn-json/blob/v0.5.7/src/basic/api.ts#L35
https://github.com/github/webauthn-json/blob/v0.5.7/src/basic/api.ts#L62

@julianlam
Copy link
Copy Markdown
Member

Thank you so much, will review this today if possible 🙂

@julianlam julianlam merged commit 493b048 into NodeBB:master May 22, 2026
@julianlam
Copy link
Copy Markdown
Member

v7.6.2

@crlm96 crlm96 deleted the navigator-credentials branch May 22, 2026 19:22
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.

2 participants