diff --git a/_generated-doc/main/config/quarkus-all-config.adoc b/_generated-doc/main/config/quarkus-all-config.adoc
index 2f498368ad9..cba56674714 100644
--- a/_generated-doc/main/config/quarkus-all-config.adoc
+++ b/_generated-doc/main/config/quarkus-all-config.adoc
@@ -9950,6 +9950,27 @@ endif::add-copy-button-to-env-var[]
|boolean
|`false`
+a|icon:lock[title=Fixed at build time] [[quarkus-core_quarkus-test-class-orderer]] [.property-path]##link:#quarkus-core_quarkus-test-class-orderer[`quarkus.test.class-orderer`]##
+ifdef::add-copy-button-to-config-props[]
+config_property_copy_button:+++quarkus.test.class-orderer+++[]
+endif::add-copy-button-to-config-props[]
+
+
+[.description]
+--
+The FQCN of the JUnit `ClassOrderer` to use. If the class cannot be found, it fallbacks to JUnit default behaviour which does not set a `ClassOrderer` at all.
+
+
+ifdef::add-copy-button-to-env-var[]
+Environment variable: env_var_with_copy_button:+++QUARKUS_TEST_CLASS_ORDERER+++[]
+endif::add-copy-button-to-env-var[]
+ifndef::add-copy-button-to-env-var[]
+Environment variable: `+++QUARKUS_TEST_CLASS_ORDERER+++`
+endif::add-copy-button-to-env-var[]
+--
+|string
+|`io.quarkus.test.junit.util.QuarkusTestProfileAwareClassOrderer`
+
a|icon:lock[title=Fixed at build time] [[quarkus-core_quarkus-test-include-tags]] [.property-path]##link:#quarkus-core_quarkus-test-include-tags[`quarkus.test.include-tags`]##
ifdef::add-copy-button-to-config-props[]
config_property_copy_button:+++quarkus.test.include-tags+++[]
@@ -84848,26 +84869,26 @@ endif::add-copy-button-to-env-var[]
|boolean
|`true`
-a| [[quarkus-security-webauthn_quarkus-webauthn-origin]] [.property-path]##link:#quarkus-security-webauthn_quarkus-webauthn-origin[`quarkus.webauthn.origin`]##
+a| [[quarkus-security-webauthn_quarkus-webauthn-origins]] [.property-path]##link:#quarkus-security-webauthn_quarkus-webauthn-origins[`quarkus.webauthn.origins`]##
ifdef::add-copy-button-to-config-props[]
-config_property_copy_button:+++quarkus.webauthn.origin+++[]
+config_property_copy_button:+++quarkus.webauthn.origins+++[]
endif::add-copy-button-to-config-props[]
[.description]
--
-The origin of the application. The origin is basically protocol, host and port. If you are calling WebAuthn API while your application is located at `https://example.com/login`, then origin will be `https://example.com`. If you are calling from `http://localhost:2823/test`, then the origin will be `http://localhost:2823`. Please note that WebAuthn API will not work on pages loaded over HTTP, unless it is localhost, which is considered secure context.
+The origins of the application. The origin is basically protocol, host and port. If you are calling WebAuthn API while your application is located at `https://example.com/login`, then origin will be `https://example.com`. If you are calling from `http://localhost:2823/test`, then the origin will be `http://localhost:2823`. Please note that WebAuthn API will not work on pages loaded over HTTP, unless it is localhost, which is considered secure context. If unspecified, this defaults to whatever URI this application is deployed on. This allows more than one value if you want to allow multiple origins. See https://w3c.github.io/webauthn/++#++sctn-related-origins
ifdef::add-copy-button-to-env-var[]
-Environment variable: env_var_with_copy_button:+++QUARKUS_WEBAUTHN_ORIGIN+++[]
+Environment variable: env_var_with_copy_button:+++QUARKUS_WEBAUTHN_ORIGINS+++[]
endif::add-copy-button-to-env-var[]
ifndef::add-copy-button-to-env-var[]
-Environment variable: `+++QUARKUS_WEBAUTHN_ORIGIN+++`
+Environment variable: `+++QUARKUS_WEBAUTHN_ORIGINS+++`
endif::add-copy-button-to-env-var[]
--
-|string
-|
+|list of string
+|`The URI this application is deployed on`
a| [[quarkus-security-webauthn_quarkus-webauthn-transports]] [.property-path]##link:#quarkus-security-webauthn_quarkus-webauthn-transports[`quarkus.webauthn.transports`]##
ifdef::add-copy-button-to-config-props[]
@@ -84903,7 +84924,7 @@ endif::add-copy-button-to-config-props[]
[.description]
--
-The id (or domain name of your server)
+The id (or domain name of your server, as obtained from the first entry of `origins` or looking at where this request is being served from)
ifdef::add-copy-button-to-env-var[]
@@ -84914,7 +84935,7 @@ Environment variable: `+++QUARKUS_WEBAUTHN_RELYING_PARTY_ID+++`
endif::add-copy-button-to-env-var[]
--
|string
-|
+|`The host name of the first allowed origin, or the host where this application is deployed`
a| [[quarkus-security-webauthn_quarkus-webauthn-relying-party-name]] [.property-path]##link:#quarkus-security-webauthn_quarkus-webauthn-relying-party-name[`quarkus.webauthn.relying-party.name`]##
ifdef::add-copy-button-to-config-props[]
@@ -84963,27 +84984,48 @@ endif::add-copy-button-to-env-var[]
a|`platform`, `cross-platform`
|
-a| [[quarkus-security-webauthn_quarkus-webauthn-require-resident-key]] [.property-path]##link:#quarkus-security-webauthn_quarkus-webauthn-require-resident-key[`quarkus.webauthn.require-resident-key`]##
+a| [[quarkus-security-webauthn_quarkus-webauthn-load-metadata]] [.property-path]##link:#quarkus-security-webauthn_quarkus-webauthn-load-metadata[`quarkus.webauthn.load-metadata`]##
ifdef::add-copy-button-to-config-props[]
-config_property_copy_button:+++quarkus.webauthn.require-resident-key+++[]
+config_property_copy_button:+++quarkus.webauthn.load-metadata+++[]
endif::add-copy-button-to-config-props[]
[.description]
--
-Resident key required. A resident (private) key, is a key that cannot leave your authenticator device, this means that you cannot reuse the authenticator to log into a second computer.
+Load the FIDO metadata for verification. See https://fidoalliance.org/metadata/. Only useful for attestations different from `Attestation.NONE`.
ifdef::add-copy-button-to-env-var[]
-Environment variable: env_var_with_copy_button:+++QUARKUS_WEBAUTHN_REQUIRE_RESIDENT_KEY+++[]
+Environment variable: env_var_with_copy_button:+++QUARKUS_WEBAUTHN_LOAD_METADATA+++[]
endif::add-copy-button-to-env-var[]
ifndef::add-copy-button-to-env-var[]
-Environment variable: `+++QUARKUS_WEBAUTHN_REQUIRE_RESIDENT_KEY+++`
+Environment variable: `+++QUARKUS_WEBAUTHN_LOAD_METADATA+++`
endif::add-copy-button-to-env-var[]
--
|boolean
|`false`
+a| [[quarkus-security-webauthn_quarkus-webauthn-resident-key]] [.property-path]##link:#quarkus-security-webauthn_quarkus-webauthn-resident-key[`quarkus.webauthn.resident-key`]##
+ifdef::add-copy-button-to-config-props[]
+config_property_copy_button:+++quarkus.webauthn.resident-key+++[]
+endif::add-copy-button-to-config-props[]
+
+
+[.description]
+--
+Resident key required. A resident (private) key, is a key that cannot leave your authenticator device, this means that you cannot reuse the authenticator to log into a second computer.
+
+
+ifdef::add-copy-button-to-env-var[]
+Environment variable: env_var_with_copy_button:+++QUARKUS_WEBAUTHN_RESIDENT_KEY+++[]
+endif::add-copy-button-to-env-var[]
+ifndef::add-copy-button-to-env-var[]
+Environment variable: `+++QUARKUS_WEBAUTHN_RESIDENT_KEY+++`
+endif::add-copy-button-to-env-var[]
+--
+a|`discouraged`, `preferred`, `required`
+|`REQUIRED`
+
a| [[quarkus-security-webauthn_quarkus-webauthn-user-verification]] [.property-path]##link:#quarkus-security-webauthn_quarkus-webauthn-user-verification[`quarkus.webauthn.user-verification`]##
ifdef::add-copy-button-to-config-props[]
config_property_copy_button:+++quarkus.webauthn.user-verification+++[]
@@ -85007,7 +85049,28 @@ Environment variable: `+++QUARKUS_WEBAUTHN_USER_VERIFICATION+++`
endif::add-copy-button-to-env-var[]
--
a|`required`, `preferred`, `discouraged`
-|`DISCOURAGED`
+|`REQUIRED`
+
+a| [[quarkus-security-webauthn_quarkus-webauthn-user-presence-required]] [.property-path]##link:#quarkus-security-webauthn_quarkus-webauthn-user-presence-required[`quarkus.webauthn.user-presence-required`]##
+ifdef::add-copy-button-to-config-props[]
+config_property_copy_button:+++quarkus.webauthn.user-presence-required+++[]
+endif::add-copy-button-to-config-props[]
+
+
+[.description]
+--
+User presence requirements.
+
+
+ifdef::add-copy-button-to-env-var[]
+Environment variable: env_var_with_copy_button:+++QUARKUS_WEBAUTHN_USER_PRESENCE_REQUIRED+++[]
+endif::add-copy-button-to-env-var[]
+ifndef::add-copy-button-to-env-var[]
+Environment variable: `+++QUARKUS_WEBAUTHN_USER_PRESENCE_REQUIRED+++`
+endif::add-copy-button-to-env-var[]
+--
+|boolean
+|`true`
a| [[quarkus-security-webauthn_quarkus-webauthn-timeout]] [.property-path]##link:#quarkus-security-webauthn_quarkus-webauthn-timeout[`quarkus.webauthn.timeout`]##
ifdef::add-copy-button-to-config-props[]
@@ -85028,7 +85091,7 @@ Environment variable: `+++QUARKUS_WEBAUTHN_TIMEOUT+++`
endif::add-copy-button-to-env-var[]
--
|link:https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/time/Duration.html[Duration] link:#duration-note-anchor-all-config[icon:question-circle[title=More information about the Duration format]]
-|`60s`
+|`5m`
a| [[quarkus-security-webauthn_quarkus-webauthn-attestation]] [.property-path]##link:#quarkus-security-webauthn_quarkus-webauthn-attestation[`quarkus.webauthn.attestation`]##
ifdef::add-copy-button-to-config-props[]
@@ -85056,22 +85119,22 @@ endif::add-copy-button-to-env-var[]
a|`none`, `indirect`, `direct`, `enterprise`
|`NONE`
-a| [[quarkus-security-webauthn_quarkus-webauthn-pub-key-cred-params]] [.property-path]##link:#quarkus-security-webauthn_quarkus-webauthn-pub-key-cred-params[`quarkus.webauthn.pub-key-cred-params`]##
+a| [[quarkus-security-webauthn_quarkus-webauthn-public-key-credential-parameters]] [.property-path]##link:#quarkus-security-webauthn_quarkus-webauthn-public-key-credential-parameters[`quarkus.webauthn.public-key-credential-parameters`]##
ifdef::add-copy-button-to-config-props[]
-config_property_copy_button:+++quarkus.webauthn.pub-key-cred-params+++[]
+config_property_copy_button:+++quarkus.webauthn.public-key-credential-parameters+++[]
endif::add-copy-button-to-config-props[]
[.description]
--
-Allowed Public Key Credential algorithms by preference order. Webauthn mandates that all authenticators must support at least the following 2 algorithms: `ES256` and `RS256`. Applications may require stronger keys and algorithms, for example: `ES512` or `EdDSA`. Note that the use of stronger algorithms, e.g.: `EdDSA` may require Java 15 or a cryptographic `JCE` provider that implements the algorithms.
+Allowed Public Key Credential algorithms by preference order. Webauthn mandates that all authenticators must support at least the following 2 algorithms: `ES256` and `RS256`. Applications may require stronger keys and algorithms, for example: `ES512` or `EdDSA`. Note that the use of stronger algorithms, e.g.: `EdDSA` may require Java 15 or a cryptographic `JCE` provider that implements the algorithms. See https://www.w3.org/TR/webauthn-1/++#++dictdef-publickeycredentialparameters
ifdef::add-copy-button-to-env-var[]
-Environment variable: env_var_with_copy_button:+++QUARKUS_WEBAUTHN_PUB_KEY_CRED_PARAMS+++[]
+Environment variable: env_var_with_copy_button:+++QUARKUS_WEBAUTHN_PUBLIC_KEY_CREDENTIAL_PARAMETERS+++[]
endif::add-copy-button-to-env-var[]
ifndef::add-copy-button-to-env-var[]
-Environment variable: `+++QUARKUS_WEBAUTHN_PUB_KEY_CRED_PARAMS+++`
+Environment variable: `+++QUARKUS_WEBAUTHN_PUBLIC_KEY_CREDENTIAL_PARAMETERS+++`
endif::add-copy-button-to-env-var[]
--
a|list of `es256`, `es384`, `es512`, `ps256`, `ps384`, `ps512`, `es256k`, `rs256`, `rs384`, `rs512`, `rs1`, `ed-dsa`
@@ -85203,27 +85266,6 @@ endif::add-copy-button-to-env-var[]
|string
|`_quarkus_webauthn_challenge`
-a| [[quarkus-security-webauthn_quarkus-webauthn-challenge-username-cookie-name]] [.property-path]##link:#quarkus-security-webauthn_quarkus-webauthn-challenge-username-cookie-name[`quarkus.webauthn.challenge-username-cookie-name`]##
-ifdef::add-copy-button-to-config-props[]
-config_property_copy_button:+++quarkus.webauthn.challenge-username-cookie-name+++[]
-endif::add-copy-button-to-config-props[]
-
-
-[.description]
---
-The cookie that is used to store the username data during login/registration
-
-
-ifdef::add-copy-button-to-env-var[]
-Environment variable: env_var_with_copy_button:+++QUARKUS_WEBAUTHN_CHALLENGE_USERNAME_COOKIE_NAME+++[]
-endif::add-copy-button-to-env-var[]
-ifndef::add-copy-button-to-env-var[]
-Environment variable: `+++QUARKUS_WEBAUTHN_CHALLENGE_USERNAME_COOKIE_NAME+++`
-endif::add-copy-button-to-env-var[]
---
-|string
-|`_quarkus_webauthn_username`
-
a| [[quarkus-security-webauthn_quarkus-webauthn-cookie-same-site]] [.property-path]##link:#quarkus-security-webauthn_quarkus-webauthn-cookie-same-site[`quarkus.webauthn.cookie-same-site`]##
ifdef::add-copy-button-to-config-props[]
config_property_copy_button:+++quarkus.webauthn.cookie-same-site+++[]
@@ -85287,6 +85329,48 @@ endif::add-copy-button-to-env-var[]
|link:https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/time/Duration.html[Duration] link:#duration-note-anchor-all-config[icon:question-circle[title=More information about the Duration format]]
|
+a| [[quarkus-security-webauthn_quarkus-webauthn-enable-registration-endpoint]] [.property-path]##link:#quarkus-security-webauthn_quarkus-webauthn-enable-registration-endpoint[`quarkus.webauthn.enable-registration-endpoint`]##
+ifdef::add-copy-button-to-config-props[]
+config_property_copy_button:+++quarkus.webauthn.enable-registration-endpoint+++[]
+endif::add-copy-button-to-config-props[]
+
+
+[.description]
+--
+Set to `true` if you want to enable the default registration endpoint at `/q/webauthn/register`, in which case you should also implement the `WebAuthnUserProvider.store` method.
+
+
+ifdef::add-copy-button-to-env-var[]
+Environment variable: env_var_with_copy_button:+++QUARKUS_WEBAUTHN_ENABLE_REGISTRATION_ENDPOINT+++[]
+endif::add-copy-button-to-env-var[]
+ifndef::add-copy-button-to-env-var[]
+Environment variable: `+++QUARKUS_WEBAUTHN_ENABLE_REGISTRATION_ENDPOINT+++`
+endif::add-copy-button-to-env-var[]
+--
+|boolean
+|`false`
+
+a| [[quarkus-security-webauthn_quarkus-webauthn-enable-login-endpoint]] [.property-path]##link:#quarkus-security-webauthn_quarkus-webauthn-enable-login-endpoint[`quarkus.webauthn.enable-login-endpoint`]##
+ifdef::add-copy-button-to-config-props[]
+config_property_copy_button:+++quarkus.webauthn.enable-login-endpoint+++[]
+endif::add-copy-button-to-config-props[]
+
+
+[.description]
+--
+Set to `true` if you want to enable the default login endpoint at `/q/webauthn/login`, in which case you should also implement the `WebAuthnUserProvider.update` method.
+
+
+ifdef::add-copy-button-to-env-var[]
+Environment variable: env_var_with_copy_button:+++QUARKUS_WEBAUTHN_ENABLE_LOGIN_ENDPOINT+++[]
+endif::add-copy-button-to-env-var[]
+ifndef::add-copy-button-to-env-var[]
+Environment variable: `+++QUARKUS_WEBAUTHN_ENABLE_LOGIN_ENDPOINT+++`
+endif::add-copy-button-to-env-var[]
+--
+|boolean
+|`false`
+
h|[.extension-name]##SmallRye Fault Tolerance##
h|Type
diff --git a/_generated-doc/main/config/quarkus-core_quarkus.test.adoc b/_generated-doc/main/config/quarkus-core_quarkus.test.adoc
index e7ed91bff62..94924f61c8a 100644
--- a/_generated-doc/main/config/quarkus-core_quarkus.test.adoc
+++ b/_generated-doc/main/config/quarkus-core_quarkus.test.adoc
@@ -55,6 +55,27 @@ endif::add-copy-button-to-env-var[]
|boolean
|`false`
+a|icon:lock[title=Fixed at build time] [[quarkus-core_quarkus-test-class-orderer]] [.property-path]##link:#quarkus-core_quarkus-test-class-orderer[`quarkus.test.class-orderer`]##
+ifdef::add-copy-button-to-config-props[]
+config_property_copy_button:+++quarkus.test.class-orderer+++[]
+endif::add-copy-button-to-config-props[]
+
+
+[.description]
+--
+The FQCN of the JUnit `ClassOrderer` to use. If the class cannot be found, it fallbacks to JUnit default behaviour which does not set a `ClassOrderer` at all.
+
+
+ifdef::add-copy-button-to-env-var[]
+Environment variable: env_var_with_copy_button:+++QUARKUS_TEST_CLASS_ORDERER+++[]
+endif::add-copy-button-to-env-var[]
+ifndef::add-copy-button-to-env-var[]
+Environment variable: `+++QUARKUS_TEST_CLASS_ORDERER+++`
+endif::add-copy-button-to-env-var[]
+--
+|string
+|`io.quarkus.test.junit.util.QuarkusTestProfileAwareClassOrderer`
+
a|icon:lock[title=Fixed at build time] [[quarkus-core_quarkus-test-include-tags]] [.property-path]##link:#quarkus-core_quarkus-test-include-tags[`quarkus.test.include-tags`]##
ifdef::add-copy-button-to-config-props[]
config_property_copy_button:+++quarkus.test.include-tags+++[]
diff --git a/_generated-doc/main/config/quarkus-security-webauthn.adoc b/_generated-doc/main/config/quarkus-security-webauthn.adoc
index e849ec5b732..51173f93fc5 100644
--- a/_generated-doc/main/config/quarkus-security-webauthn.adoc
+++ b/_generated-doc/main/config/quarkus-security-webauthn.adoc
@@ -28,26 +28,26 @@ endif::add-copy-button-to-env-var[]
|boolean
|`true`
-a| [[quarkus-security-webauthn_quarkus-webauthn-origin]] [.property-path]##link:#quarkus-security-webauthn_quarkus-webauthn-origin[`quarkus.webauthn.origin`]##
+a| [[quarkus-security-webauthn_quarkus-webauthn-origins]] [.property-path]##link:#quarkus-security-webauthn_quarkus-webauthn-origins[`quarkus.webauthn.origins`]##
ifdef::add-copy-button-to-config-props[]
-config_property_copy_button:+++quarkus.webauthn.origin+++[]
+config_property_copy_button:+++quarkus.webauthn.origins+++[]
endif::add-copy-button-to-config-props[]
[.description]
--
-The origin of the application. The origin is basically protocol, host and port. If you are calling WebAuthn API while your application is located at `https://example.com/login`, then origin will be `https://example.com`. If you are calling from `http://localhost:2823/test`, then the origin will be `http://localhost:2823`. Please note that WebAuthn API will not work on pages loaded over HTTP, unless it is localhost, which is considered secure context.
+The origins of the application. The origin is basically protocol, host and port. If you are calling WebAuthn API while your application is located at `https://example.com/login`, then origin will be `https://example.com`. If you are calling from `http://localhost:2823/test`, then the origin will be `http://localhost:2823`. Please note that WebAuthn API will not work on pages loaded over HTTP, unless it is localhost, which is considered secure context. If unspecified, this defaults to whatever URI this application is deployed on. This allows more than one value if you want to allow multiple origins. See https://w3c.github.io/webauthn/++#++sctn-related-origins
ifdef::add-copy-button-to-env-var[]
-Environment variable: env_var_with_copy_button:+++QUARKUS_WEBAUTHN_ORIGIN+++[]
+Environment variable: env_var_with_copy_button:+++QUARKUS_WEBAUTHN_ORIGINS+++[]
endif::add-copy-button-to-env-var[]
ifndef::add-copy-button-to-env-var[]
-Environment variable: `+++QUARKUS_WEBAUTHN_ORIGIN+++`
+Environment variable: `+++QUARKUS_WEBAUTHN_ORIGINS+++`
endif::add-copy-button-to-env-var[]
--
-|string
-|
+|list of string
+|`The URI this application is deployed on`
a| [[quarkus-security-webauthn_quarkus-webauthn-transports]] [.property-path]##link:#quarkus-security-webauthn_quarkus-webauthn-transports[`quarkus.webauthn.transports`]##
ifdef::add-copy-button-to-config-props[]
@@ -83,7 +83,7 @@ endif::add-copy-button-to-config-props[]
[.description]
--
-The id (or domain name of your server)
+The id (or domain name of your server, as obtained from the first entry of `origins` or looking at where this request is being served from)
ifdef::add-copy-button-to-env-var[]
@@ -94,7 +94,7 @@ Environment variable: `+++QUARKUS_WEBAUTHN_RELYING_PARTY_ID+++`
endif::add-copy-button-to-env-var[]
--
|string
-|
+|`The host name of the first allowed origin, or the host where this application is deployed`
a| [[quarkus-security-webauthn_quarkus-webauthn-relying-party-name]] [.property-path]##link:#quarkus-security-webauthn_quarkus-webauthn-relying-party-name[`quarkus.webauthn.relying-party.name`]##
ifdef::add-copy-button-to-config-props[]
@@ -143,27 +143,48 @@ endif::add-copy-button-to-env-var[]
a|`platform`, `cross-platform`
|
-a| [[quarkus-security-webauthn_quarkus-webauthn-require-resident-key]] [.property-path]##link:#quarkus-security-webauthn_quarkus-webauthn-require-resident-key[`quarkus.webauthn.require-resident-key`]##
+a| [[quarkus-security-webauthn_quarkus-webauthn-load-metadata]] [.property-path]##link:#quarkus-security-webauthn_quarkus-webauthn-load-metadata[`quarkus.webauthn.load-metadata`]##
ifdef::add-copy-button-to-config-props[]
-config_property_copy_button:+++quarkus.webauthn.require-resident-key+++[]
+config_property_copy_button:+++quarkus.webauthn.load-metadata+++[]
endif::add-copy-button-to-config-props[]
[.description]
--
-Resident key required. A resident (private) key, is a key that cannot leave your authenticator device, this means that you cannot reuse the authenticator to log into a second computer.
+Load the FIDO metadata for verification. See https://fidoalliance.org/metadata/. Only useful for attestations different from `Attestation.NONE`.
ifdef::add-copy-button-to-env-var[]
-Environment variable: env_var_with_copy_button:+++QUARKUS_WEBAUTHN_REQUIRE_RESIDENT_KEY+++[]
+Environment variable: env_var_with_copy_button:+++QUARKUS_WEBAUTHN_LOAD_METADATA+++[]
endif::add-copy-button-to-env-var[]
ifndef::add-copy-button-to-env-var[]
-Environment variable: `+++QUARKUS_WEBAUTHN_REQUIRE_RESIDENT_KEY+++`
+Environment variable: `+++QUARKUS_WEBAUTHN_LOAD_METADATA+++`
endif::add-copy-button-to-env-var[]
--
|boolean
|`false`
+a| [[quarkus-security-webauthn_quarkus-webauthn-resident-key]] [.property-path]##link:#quarkus-security-webauthn_quarkus-webauthn-resident-key[`quarkus.webauthn.resident-key`]##
+ifdef::add-copy-button-to-config-props[]
+config_property_copy_button:+++quarkus.webauthn.resident-key+++[]
+endif::add-copy-button-to-config-props[]
+
+
+[.description]
+--
+Resident key required. A resident (private) key, is a key that cannot leave your authenticator device, this means that you cannot reuse the authenticator to log into a second computer.
+
+
+ifdef::add-copy-button-to-env-var[]
+Environment variable: env_var_with_copy_button:+++QUARKUS_WEBAUTHN_RESIDENT_KEY+++[]
+endif::add-copy-button-to-env-var[]
+ifndef::add-copy-button-to-env-var[]
+Environment variable: `+++QUARKUS_WEBAUTHN_RESIDENT_KEY+++`
+endif::add-copy-button-to-env-var[]
+--
+a|`discouraged`, `preferred`, `required`
+|`REQUIRED`
+
a| [[quarkus-security-webauthn_quarkus-webauthn-user-verification]] [.property-path]##link:#quarkus-security-webauthn_quarkus-webauthn-user-verification[`quarkus.webauthn.user-verification`]##
ifdef::add-copy-button-to-config-props[]
config_property_copy_button:+++quarkus.webauthn.user-verification+++[]
@@ -187,7 +208,28 @@ Environment variable: `+++QUARKUS_WEBAUTHN_USER_VERIFICATION+++`
endif::add-copy-button-to-env-var[]
--
a|`required`, `preferred`, `discouraged`
-|`DISCOURAGED`
+|`REQUIRED`
+
+a| [[quarkus-security-webauthn_quarkus-webauthn-user-presence-required]] [.property-path]##link:#quarkus-security-webauthn_quarkus-webauthn-user-presence-required[`quarkus.webauthn.user-presence-required`]##
+ifdef::add-copy-button-to-config-props[]
+config_property_copy_button:+++quarkus.webauthn.user-presence-required+++[]
+endif::add-copy-button-to-config-props[]
+
+
+[.description]
+--
+User presence requirements.
+
+
+ifdef::add-copy-button-to-env-var[]
+Environment variable: env_var_with_copy_button:+++QUARKUS_WEBAUTHN_USER_PRESENCE_REQUIRED+++[]
+endif::add-copy-button-to-env-var[]
+ifndef::add-copy-button-to-env-var[]
+Environment variable: `+++QUARKUS_WEBAUTHN_USER_PRESENCE_REQUIRED+++`
+endif::add-copy-button-to-env-var[]
+--
+|boolean
+|`true`
a| [[quarkus-security-webauthn_quarkus-webauthn-timeout]] [.property-path]##link:#quarkus-security-webauthn_quarkus-webauthn-timeout[`quarkus.webauthn.timeout`]##
ifdef::add-copy-button-to-config-props[]
@@ -208,7 +250,7 @@ Environment variable: `+++QUARKUS_WEBAUTHN_TIMEOUT+++`
endif::add-copy-button-to-env-var[]
--
|link:https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/time/Duration.html[Duration] link:#duration-note-anchor-quarkus-security-webauthn_quarkus-webauthn[icon:question-circle[title=More information about the Duration format]]
-|`60s`
+|`5m`
a| [[quarkus-security-webauthn_quarkus-webauthn-attestation]] [.property-path]##link:#quarkus-security-webauthn_quarkus-webauthn-attestation[`quarkus.webauthn.attestation`]##
ifdef::add-copy-button-to-config-props[]
@@ -236,22 +278,22 @@ endif::add-copy-button-to-env-var[]
a|`none`, `indirect`, `direct`, `enterprise`
|`NONE`
-a| [[quarkus-security-webauthn_quarkus-webauthn-pub-key-cred-params]] [.property-path]##link:#quarkus-security-webauthn_quarkus-webauthn-pub-key-cred-params[`quarkus.webauthn.pub-key-cred-params`]##
+a| [[quarkus-security-webauthn_quarkus-webauthn-public-key-credential-parameters]] [.property-path]##link:#quarkus-security-webauthn_quarkus-webauthn-public-key-credential-parameters[`quarkus.webauthn.public-key-credential-parameters`]##
ifdef::add-copy-button-to-config-props[]
-config_property_copy_button:+++quarkus.webauthn.pub-key-cred-params+++[]
+config_property_copy_button:+++quarkus.webauthn.public-key-credential-parameters+++[]
endif::add-copy-button-to-config-props[]
[.description]
--
-Allowed Public Key Credential algorithms by preference order. Webauthn mandates that all authenticators must support at least the following 2 algorithms: `ES256` and `RS256`. Applications may require stronger keys and algorithms, for example: `ES512` or `EdDSA`. Note that the use of stronger algorithms, e.g.: `EdDSA` may require Java 15 or a cryptographic `JCE` provider that implements the algorithms.
+Allowed Public Key Credential algorithms by preference order. Webauthn mandates that all authenticators must support at least the following 2 algorithms: `ES256` and `RS256`. Applications may require stronger keys and algorithms, for example: `ES512` or `EdDSA`. Note that the use of stronger algorithms, e.g.: `EdDSA` may require Java 15 or a cryptographic `JCE` provider that implements the algorithms. See https://www.w3.org/TR/webauthn-1/++#++dictdef-publickeycredentialparameters
ifdef::add-copy-button-to-env-var[]
-Environment variable: env_var_with_copy_button:+++QUARKUS_WEBAUTHN_PUB_KEY_CRED_PARAMS+++[]
+Environment variable: env_var_with_copy_button:+++QUARKUS_WEBAUTHN_PUBLIC_KEY_CREDENTIAL_PARAMETERS+++[]
endif::add-copy-button-to-env-var[]
ifndef::add-copy-button-to-env-var[]
-Environment variable: `+++QUARKUS_WEBAUTHN_PUB_KEY_CRED_PARAMS+++`
+Environment variable: `+++QUARKUS_WEBAUTHN_PUBLIC_KEY_CREDENTIAL_PARAMETERS+++`
endif::add-copy-button-to-env-var[]
--
a|list of `es256`, `es384`, `es512`, `ps256`, `ps384`, `ps512`, `es256k`, `rs256`, `rs384`, `rs512`, `rs1`, `ed-dsa`
@@ -383,27 +425,6 @@ endif::add-copy-button-to-env-var[]
|string
|`_quarkus_webauthn_challenge`
-a| [[quarkus-security-webauthn_quarkus-webauthn-challenge-username-cookie-name]] [.property-path]##link:#quarkus-security-webauthn_quarkus-webauthn-challenge-username-cookie-name[`quarkus.webauthn.challenge-username-cookie-name`]##
-ifdef::add-copy-button-to-config-props[]
-config_property_copy_button:+++quarkus.webauthn.challenge-username-cookie-name+++[]
-endif::add-copy-button-to-config-props[]
-
-
-[.description]
---
-The cookie that is used to store the username data during login/registration
-
-
-ifdef::add-copy-button-to-env-var[]
-Environment variable: env_var_with_copy_button:+++QUARKUS_WEBAUTHN_CHALLENGE_USERNAME_COOKIE_NAME+++[]
-endif::add-copy-button-to-env-var[]
-ifndef::add-copy-button-to-env-var[]
-Environment variable: `+++QUARKUS_WEBAUTHN_CHALLENGE_USERNAME_COOKIE_NAME+++`
-endif::add-copy-button-to-env-var[]
---
-|string
-|`_quarkus_webauthn_username`
-
a| [[quarkus-security-webauthn_quarkus-webauthn-cookie-same-site]] [.property-path]##link:#quarkus-security-webauthn_quarkus-webauthn-cookie-same-site[`quarkus.webauthn.cookie-same-site`]##
ifdef::add-copy-button-to-config-props[]
config_property_copy_button:+++quarkus.webauthn.cookie-same-site+++[]
@@ -467,6 +488,48 @@ endif::add-copy-button-to-env-var[]
|link:https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/time/Duration.html[Duration] link:#duration-note-anchor-quarkus-security-webauthn_quarkus-webauthn[icon:question-circle[title=More information about the Duration format]]
|
+a| [[quarkus-security-webauthn_quarkus-webauthn-enable-registration-endpoint]] [.property-path]##link:#quarkus-security-webauthn_quarkus-webauthn-enable-registration-endpoint[`quarkus.webauthn.enable-registration-endpoint`]##
+ifdef::add-copy-button-to-config-props[]
+config_property_copy_button:+++quarkus.webauthn.enable-registration-endpoint+++[]
+endif::add-copy-button-to-config-props[]
+
+
+[.description]
+--
+Set to `true` if you want to enable the default registration endpoint at `/q/webauthn/register`, in which case you should also implement the `WebAuthnUserProvider.store` method.
+
+
+ifdef::add-copy-button-to-env-var[]
+Environment variable: env_var_with_copy_button:+++QUARKUS_WEBAUTHN_ENABLE_REGISTRATION_ENDPOINT+++[]
+endif::add-copy-button-to-env-var[]
+ifndef::add-copy-button-to-env-var[]
+Environment variable: `+++QUARKUS_WEBAUTHN_ENABLE_REGISTRATION_ENDPOINT+++`
+endif::add-copy-button-to-env-var[]
+--
+|boolean
+|`false`
+
+a| [[quarkus-security-webauthn_quarkus-webauthn-enable-login-endpoint]] [.property-path]##link:#quarkus-security-webauthn_quarkus-webauthn-enable-login-endpoint[`quarkus.webauthn.enable-login-endpoint`]##
+ifdef::add-copy-button-to-config-props[]
+config_property_copy_button:+++quarkus.webauthn.enable-login-endpoint+++[]
+endif::add-copy-button-to-config-props[]
+
+
+[.description]
+--
+Set to `true` if you want to enable the default login endpoint at `/q/webauthn/login`, in which case you should also implement the `WebAuthnUserProvider.update` method.
+
+
+ifdef::add-copy-button-to-env-var[]
+Environment variable: env_var_with_copy_button:+++QUARKUS_WEBAUTHN_ENABLE_LOGIN_ENDPOINT+++[]
+endif::add-copy-button-to-env-var[]
+ifndef::add-copy-button-to-env-var[]
+Environment variable: `+++QUARKUS_WEBAUTHN_ENABLE_LOGIN_ENDPOINT+++`
+endif::add-copy-button-to-env-var[]
+--
+|boolean
+|`false`
+
|===
ifndef::no-duration-note[]
diff --git a/_generated-doc/main/config/quarkus-security-webauthn_quarkus.webauthn.adoc b/_generated-doc/main/config/quarkus-security-webauthn_quarkus.webauthn.adoc
index e849ec5b732..51173f93fc5 100644
--- a/_generated-doc/main/config/quarkus-security-webauthn_quarkus.webauthn.adoc
+++ b/_generated-doc/main/config/quarkus-security-webauthn_quarkus.webauthn.adoc
@@ -28,26 +28,26 @@ endif::add-copy-button-to-env-var[]
|boolean
|`true`
-a| [[quarkus-security-webauthn_quarkus-webauthn-origin]] [.property-path]##link:#quarkus-security-webauthn_quarkus-webauthn-origin[`quarkus.webauthn.origin`]##
+a| [[quarkus-security-webauthn_quarkus-webauthn-origins]] [.property-path]##link:#quarkus-security-webauthn_quarkus-webauthn-origins[`quarkus.webauthn.origins`]##
ifdef::add-copy-button-to-config-props[]
-config_property_copy_button:+++quarkus.webauthn.origin+++[]
+config_property_copy_button:+++quarkus.webauthn.origins+++[]
endif::add-copy-button-to-config-props[]
[.description]
--
-The origin of the application. The origin is basically protocol, host and port. If you are calling WebAuthn API while your application is located at `https://example.com/login`, then origin will be `https://example.com`. If you are calling from `http://localhost:2823/test`, then the origin will be `http://localhost:2823`. Please note that WebAuthn API will not work on pages loaded over HTTP, unless it is localhost, which is considered secure context.
+The origins of the application. The origin is basically protocol, host and port. If you are calling WebAuthn API while your application is located at `https://example.com/login`, then origin will be `https://example.com`. If you are calling from `http://localhost:2823/test`, then the origin will be `http://localhost:2823`. Please note that WebAuthn API will not work on pages loaded over HTTP, unless it is localhost, which is considered secure context. If unspecified, this defaults to whatever URI this application is deployed on. This allows more than one value if you want to allow multiple origins. See https://w3c.github.io/webauthn/++#++sctn-related-origins
ifdef::add-copy-button-to-env-var[]
-Environment variable: env_var_with_copy_button:+++QUARKUS_WEBAUTHN_ORIGIN+++[]
+Environment variable: env_var_with_copy_button:+++QUARKUS_WEBAUTHN_ORIGINS+++[]
endif::add-copy-button-to-env-var[]
ifndef::add-copy-button-to-env-var[]
-Environment variable: `+++QUARKUS_WEBAUTHN_ORIGIN+++`
+Environment variable: `+++QUARKUS_WEBAUTHN_ORIGINS+++`
endif::add-copy-button-to-env-var[]
--
-|string
-|
+|list of string
+|`The URI this application is deployed on`
a| [[quarkus-security-webauthn_quarkus-webauthn-transports]] [.property-path]##link:#quarkus-security-webauthn_quarkus-webauthn-transports[`quarkus.webauthn.transports`]##
ifdef::add-copy-button-to-config-props[]
@@ -83,7 +83,7 @@ endif::add-copy-button-to-config-props[]
[.description]
--
-The id (or domain name of your server)
+The id (or domain name of your server, as obtained from the first entry of `origins` or looking at where this request is being served from)
ifdef::add-copy-button-to-env-var[]
@@ -94,7 +94,7 @@ Environment variable: `+++QUARKUS_WEBAUTHN_RELYING_PARTY_ID+++`
endif::add-copy-button-to-env-var[]
--
|string
-|
+|`The host name of the first allowed origin, or the host where this application is deployed`
a| [[quarkus-security-webauthn_quarkus-webauthn-relying-party-name]] [.property-path]##link:#quarkus-security-webauthn_quarkus-webauthn-relying-party-name[`quarkus.webauthn.relying-party.name`]##
ifdef::add-copy-button-to-config-props[]
@@ -143,27 +143,48 @@ endif::add-copy-button-to-env-var[]
a|`platform`, `cross-platform`
|
-a| [[quarkus-security-webauthn_quarkus-webauthn-require-resident-key]] [.property-path]##link:#quarkus-security-webauthn_quarkus-webauthn-require-resident-key[`quarkus.webauthn.require-resident-key`]##
+a| [[quarkus-security-webauthn_quarkus-webauthn-load-metadata]] [.property-path]##link:#quarkus-security-webauthn_quarkus-webauthn-load-metadata[`quarkus.webauthn.load-metadata`]##
ifdef::add-copy-button-to-config-props[]
-config_property_copy_button:+++quarkus.webauthn.require-resident-key+++[]
+config_property_copy_button:+++quarkus.webauthn.load-metadata+++[]
endif::add-copy-button-to-config-props[]
[.description]
--
-Resident key required. A resident (private) key, is a key that cannot leave your authenticator device, this means that you cannot reuse the authenticator to log into a second computer.
+Load the FIDO metadata for verification. See https://fidoalliance.org/metadata/. Only useful for attestations different from `Attestation.NONE`.
ifdef::add-copy-button-to-env-var[]
-Environment variable: env_var_with_copy_button:+++QUARKUS_WEBAUTHN_REQUIRE_RESIDENT_KEY+++[]
+Environment variable: env_var_with_copy_button:+++QUARKUS_WEBAUTHN_LOAD_METADATA+++[]
endif::add-copy-button-to-env-var[]
ifndef::add-copy-button-to-env-var[]
-Environment variable: `+++QUARKUS_WEBAUTHN_REQUIRE_RESIDENT_KEY+++`
+Environment variable: `+++QUARKUS_WEBAUTHN_LOAD_METADATA+++`
endif::add-copy-button-to-env-var[]
--
|boolean
|`false`
+a| [[quarkus-security-webauthn_quarkus-webauthn-resident-key]] [.property-path]##link:#quarkus-security-webauthn_quarkus-webauthn-resident-key[`quarkus.webauthn.resident-key`]##
+ifdef::add-copy-button-to-config-props[]
+config_property_copy_button:+++quarkus.webauthn.resident-key+++[]
+endif::add-copy-button-to-config-props[]
+
+
+[.description]
+--
+Resident key required. A resident (private) key, is a key that cannot leave your authenticator device, this means that you cannot reuse the authenticator to log into a second computer.
+
+
+ifdef::add-copy-button-to-env-var[]
+Environment variable: env_var_with_copy_button:+++QUARKUS_WEBAUTHN_RESIDENT_KEY+++[]
+endif::add-copy-button-to-env-var[]
+ifndef::add-copy-button-to-env-var[]
+Environment variable: `+++QUARKUS_WEBAUTHN_RESIDENT_KEY+++`
+endif::add-copy-button-to-env-var[]
+--
+a|`discouraged`, `preferred`, `required`
+|`REQUIRED`
+
a| [[quarkus-security-webauthn_quarkus-webauthn-user-verification]] [.property-path]##link:#quarkus-security-webauthn_quarkus-webauthn-user-verification[`quarkus.webauthn.user-verification`]##
ifdef::add-copy-button-to-config-props[]
config_property_copy_button:+++quarkus.webauthn.user-verification+++[]
@@ -187,7 +208,28 @@ Environment variable: `+++QUARKUS_WEBAUTHN_USER_VERIFICATION+++`
endif::add-copy-button-to-env-var[]
--
a|`required`, `preferred`, `discouraged`
-|`DISCOURAGED`
+|`REQUIRED`
+
+a| [[quarkus-security-webauthn_quarkus-webauthn-user-presence-required]] [.property-path]##link:#quarkus-security-webauthn_quarkus-webauthn-user-presence-required[`quarkus.webauthn.user-presence-required`]##
+ifdef::add-copy-button-to-config-props[]
+config_property_copy_button:+++quarkus.webauthn.user-presence-required+++[]
+endif::add-copy-button-to-config-props[]
+
+
+[.description]
+--
+User presence requirements.
+
+
+ifdef::add-copy-button-to-env-var[]
+Environment variable: env_var_with_copy_button:+++QUARKUS_WEBAUTHN_USER_PRESENCE_REQUIRED+++[]
+endif::add-copy-button-to-env-var[]
+ifndef::add-copy-button-to-env-var[]
+Environment variable: `+++QUARKUS_WEBAUTHN_USER_PRESENCE_REQUIRED+++`
+endif::add-copy-button-to-env-var[]
+--
+|boolean
+|`true`
a| [[quarkus-security-webauthn_quarkus-webauthn-timeout]] [.property-path]##link:#quarkus-security-webauthn_quarkus-webauthn-timeout[`quarkus.webauthn.timeout`]##
ifdef::add-copy-button-to-config-props[]
@@ -208,7 +250,7 @@ Environment variable: `+++QUARKUS_WEBAUTHN_TIMEOUT+++`
endif::add-copy-button-to-env-var[]
--
|link:https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/time/Duration.html[Duration] link:#duration-note-anchor-quarkus-security-webauthn_quarkus-webauthn[icon:question-circle[title=More information about the Duration format]]
-|`60s`
+|`5m`
a| [[quarkus-security-webauthn_quarkus-webauthn-attestation]] [.property-path]##link:#quarkus-security-webauthn_quarkus-webauthn-attestation[`quarkus.webauthn.attestation`]##
ifdef::add-copy-button-to-config-props[]
@@ -236,22 +278,22 @@ endif::add-copy-button-to-env-var[]
a|`none`, `indirect`, `direct`, `enterprise`
|`NONE`
-a| [[quarkus-security-webauthn_quarkus-webauthn-pub-key-cred-params]] [.property-path]##link:#quarkus-security-webauthn_quarkus-webauthn-pub-key-cred-params[`quarkus.webauthn.pub-key-cred-params`]##
+a| [[quarkus-security-webauthn_quarkus-webauthn-public-key-credential-parameters]] [.property-path]##link:#quarkus-security-webauthn_quarkus-webauthn-public-key-credential-parameters[`quarkus.webauthn.public-key-credential-parameters`]##
ifdef::add-copy-button-to-config-props[]
-config_property_copy_button:+++quarkus.webauthn.pub-key-cred-params+++[]
+config_property_copy_button:+++quarkus.webauthn.public-key-credential-parameters+++[]
endif::add-copy-button-to-config-props[]
[.description]
--
-Allowed Public Key Credential algorithms by preference order. Webauthn mandates that all authenticators must support at least the following 2 algorithms: `ES256` and `RS256`. Applications may require stronger keys and algorithms, for example: `ES512` or `EdDSA`. Note that the use of stronger algorithms, e.g.: `EdDSA` may require Java 15 or a cryptographic `JCE` provider that implements the algorithms.
+Allowed Public Key Credential algorithms by preference order. Webauthn mandates that all authenticators must support at least the following 2 algorithms: `ES256` and `RS256`. Applications may require stronger keys and algorithms, for example: `ES512` or `EdDSA`. Note that the use of stronger algorithms, e.g.: `EdDSA` may require Java 15 or a cryptographic `JCE` provider that implements the algorithms. See https://www.w3.org/TR/webauthn-1/++#++dictdef-publickeycredentialparameters
ifdef::add-copy-button-to-env-var[]
-Environment variable: env_var_with_copy_button:+++QUARKUS_WEBAUTHN_PUB_KEY_CRED_PARAMS+++[]
+Environment variable: env_var_with_copy_button:+++QUARKUS_WEBAUTHN_PUBLIC_KEY_CREDENTIAL_PARAMETERS+++[]
endif::add-copy-button-to-env-var[]
ifndef::add-copy-button-to-env-var[]
-Environment variable: `+++QUARKUS_WEBAUTHN_PUB_KEY_CRED_PARAMS+++`
+Environment variable: `+++QUARKUS_WEBAUTHN_PUBLIC_KEY_CREDENTIAL_PARAMETERS+++`
endif::add-copy-button-to-env-var[]
--
a|list of `es256`, `es384`, `es512`, `ps256`, `ps384`, `ps512`, `es256k`, `rs256`, `rs384`, `rs512`, `rs1`, `ed-dsa`
@@ -383,27 +425,6 @@ endif::add-copy-button-to-env-var[]
|string
|`_quarkus_webauthn_challenge`
-a| [[quarkus-security-webauthn_quarkus-webauthn-challenge-username-cookie-name]] [.property-path]##link:#quarkus-security-webauthn_quarkus-webauthn-challenge-username-cookie-name[`quarkus.webauthn.challenge-username-cookie-name`]##
-ifdef::add-copy-button-to-config-props[]
-config_property_copy_button:+++quarkus.webauthn.challenge-username-cookie-name+++[]
-endif::add-copy-button-to-config-props[]
-
-
-[.description]
---
-The cookie that is used to store the username data during login/registration
-
-
-ifdef::add-copy-button-to-env-var[]
-Environment variable: env_var_with_copy_button:+++QUARKUS_WEBAUTHN_CHALLENGE_USERNAME_COOKIE_NAME+++[]
-endif::add-copy-button-to-env-var[]
-ifndef::add-copy-button-to-env-var[]
-Environment variable: `+++QUARKUS_WEBAUTHN_CHALLENGE_USERNAME_COOKIE_NAME+++`
-endif::add-copy-button-to-env-var[]
---
-|string
-|`_quarkus_webauthn_username`
-
a| [[quarkus-security-webauthn_quarkus-webauthn-cookie-same-site]] [.property-path]##link:#quarkus-security-webauthn_quarkus-webauthn-cookie-same-site[`quarkus.webauthn.cookie-same-site`]##
ifdef::add-copy-button-to-config-props[]
config_property_copy_button:+++quarkus.webauthn.cookie-same-site+++[]
@@ -467,6 +488,48 @@ endif::add-copy-button-to-env-var[]
|link:https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/time/Duration.html[Duration] link:#duration-note-anchor-quarkus-security-webauthn_quarkus-webauthn[icon:question-circle[title=More information about the Duration format]]
|
+a| [[quarkus-security-webauthn_quarkus-webauthn-enable-registration-endpoint]] [.property-path]##link:#quarkus-security-webauthn_quarkus-webauthn-enable-registration-endpoint[`quarkus.webauthn.enable-registration-endpoint`]##
+ifdef::add-copy-button-to-config-props[]
+config_property_copy_button:+++quarkus.webauthn.enable-registration-endpoint+++[]
+endif::add-copy-button-to-config-props[]
+
+
+[.description]
+--
+Set to `true` if you want to enable the default registration endpoint at `/q/webauthn/register`, in which case you should also implement the `WebAuthnUserProvider.store` method.
+
+
+ifdef::add-copy-button-to-env-var[]
+Environment variable: env_var_with_copy_button:+++QUARKUS_WEBAUTHN_ENABLE_REGISTRATION_ENDPOINT+++[]
+endif::add-copy-button-to-env-var[]
+ifndef::add-copy-button-to-env-var[]
+Environment variable: `+++QUARKUS_WEBAUTHN_ENABLE_REGISTRATION_ENDPOINT+++`
+endif::add-copy-button-to-env-var[]
+--
+|boolean
+|`false`
+
+a| [[quarkus-security-webauthn_quarkus-webauthn-enable-login-endpoint]] [.property-path]##link:#quarkus-security-webauthn_quarkus-webauthn-enable-login-endpoint[`quarkus.webauthn.enable-login-endpoint`]##
+ifdef::add-copy-button-to-config-props[]
+config_property_copy_button:+++quarkus.webauthn.enable-login-endpoint+++[]
+endif::add-copy-button-to-config-props[]
+
+
+[.description]
+--
+Set to `true` if you want to enable the default login endpoint at `/q/webauthn/login`, in which case you should also implement the `WebAuthnUserProvider.update` method.
+
+
+ifdef::add-copy-button-to-env-var[]
+Environment variable: env_var_with_copy_button:+++QUARKUS_WEBAUTHN_ENABLE_LOGIN_ENDPOINT+++[]
+endif::add-copy-button-to-env-var[]
+ifndef::add-copy-button-to-env-var[]
+Environment variable: `+++QUARKUS_WEBAUTHN_ENABLE_LOGIN_ENDPOINT+++`
+endif::add-copy-button-to-env-var[]
+--
+|boolean
+|`false`
+
|===
ifndef::no-duration-note[]
diff --git a/_versions/main/guides/getting-started-testing.adoc b/_versions/main/guides/getting-started-testing.adoc
index 916b16f57fd..e2c0fac89cc 100644
--- a/_versions/main/guides/getting-started-testing.adoc
+++ b/_versions/main/guides/getting-started-testing.adoc
@@ -472,24 +472,10 @@ a bit slower, as it adds a shutdown/startup cycle to the test time, but gives a
To reduce the amount of times Quarkus needs to restart, `io.quarkus.test.junit.util.QuarkusTestProfileAwareClassOrderer`
is registered as a global `ClassOrderer` as described in the
link:https://junit.org/junit5/docs/current/user-guide/#writing-tests-test-execution-order-classes[JUnit 5 User Guide].
-The behavior of this `ClassOrderer` is configurable via `junit-platform.properties` (see the source code or javadoc for more details).
-It can also be disabled entirely by setting another `ClassOrderer` that is provided by JUnit 5 or even your own custom one. +
-Please note that as of JUnit 5.8.2 link:https://github.com/junit-team/junit5/issues/2794[only a single `junit-platform.properties` is picked up and a warning is logged if more than one is found].
-If you encounter such warnings, you can get rid of them by removing the Quarkus-supplied `junit-platform.properties` from the classpath via an exclusion:
-[source,xml]
-----
-
{@code - * { - * "alg": "string", - * "x5c": [ - * "base64" - * ] - * } - * }- */ - /** - * The algorithm used for the public credential - */ - public PublicKeyCredential alg; - - /** - * The list of X509 certificates encoded as base64url. - */ - @OneToMany(mappedBy = "webAuthnCredential") - public List
-