You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
The WebAuthn API is backwards-compatible with U2F authenticators,
472
+
and credentials registered via the U2F API will continue to work with the WebAuthn API with the right settings.
473
+
474
+
To migrate to using the WebAuthn API, you need to do the following:
475
+
476
+
* Follow the link:#getting-started[Getting started] guide above to set up WebAuthn support in general.
477
+
+
478
+
Note that unlike a U2F AppID, the WebAuthn link:https://developers.yubico.com/java-webauthn-server/JavaDoc/webauthn-server-core-minimal/latest/com/yubico/webauthn/data/RelyingPartyIdentity.RelyingPartyIdentityBuilder.html#id(java.lang.String)[RP ID]
479
+
consists of only the domain name of the AppID.
480
+
WebAuthn does not support link:https://fidoalliance.org/specs/fido-u2f-v1.2-ps-20170411/fido-appid-and-facets-v1.2-ps-20170411.html[U2F Trusted Facet Lists].
The argument to the `appid()` setting should be the same as you used for the `appId` argument to the
486
+
link:https://fidoalliance.org/specs/fido-u2f-v1.2-ps-20170411/fido-u2f-javascript-api-v1.2-ps-20170411.html#high-level-javascript-api[U2F `register` and `sign` functions].
487
+
+
488
+
This will enable the link:https://www.w3.org/TR/2021/REC-webauthn-2-20210408/#sctn-appid-extension[`appid`]
489
+
and link:https://www.w3.org/TR/2021/REC-webauthn-2-20210408/#sctn-appid-exclude-extension[`appidExclude`]
490
+
extensions and configure the `RelyingParty` to accept the given AppId when verifying authenticator signatures.
491
+
492
+
* Generate a link:https://www.w3.org/TR/2021/REC-webauthn-2-20210408/#user-handle[user handle] for each existing user
493
+
and store it in their account,
494
+
or decide on a method for deriving one deterministically from existing user attributes.
495
+
For example, if your user records are assigned UUIDs, you can use that UUID as the user handle.
496
+
You SHOULD NOT use a plain username or e-mail address, or hash of either, as the user handle -
497
+
for more on this, see the link:https://www.w3.org/TR/2021/REC-webauthn-2-20210408/#sctn-user-handle-privacy[User Handle Contents]
498
+
privacy consideration.
499
+
500
+
* When your `CredentialRepository` creates a `RegisteredCredential` for a U2F credential,
method instead of link:https://developers.yubico.com/java-webauthn-server/JavaDoc/webauthn-server-core-minimal/latest/com/yubico/webauthn/RegisteredCredential.RegisteredCredentialBuilder.html#publicKeyCose(com.yubico.webauthn.data.ByteArray)[`publicKeyCose()`]
0 commit comments