Cannot use WebAuthn with WildFly distribution

Fixes #12762
This commit is contained in:
Martin Bartoš 2022-07-12 14:45:24 +02:00 committed by Bruno Oliveira da Silva
parent 4d19099c66
commit 1b9a3bf51a
4 changed files with 91 additions and 3 deletions

View file

@ -225,6 +225,28 @@
</license>
</licenses>
</dependency>
<dependency>
<groupId>com.fasterxml.jackson.core</groupId>
<artifactId>jackson-databind</artifactId>
<version>2.13.2</version>
<licenses>
<license>
<name>Apache Software License 2.0</name>
<url>https://www.apache.org/licenses/LICENSE-2.0.txt</url> <!-- Source repo contains no license file -->
</license>
</licenses>
</dependency>
<dependency>
<groupId>com.fasterxml.jackson.core</groupId>
<artifactId>jackson-core</artifactId>
<version>2.13.2</version>
<licenses>
<license>
<name>Apache Software License 2.0</name>
<url>https://www.apache.org/licenses/LICENSE-2.0.txt</url> <!-- Source repo contains no license file -->
</license>
</licenses>
</dependency>
</dependencies>
<others>
<other>

View file

@ -0,0 +1,26 @@
<?xml version="1.0" standalone="no"?>
<!--
~ Copyright 2022 Red Hat, Inc. and/or its affiliates
~ and other contributors as indicated by the @author tags.
~
~ Licensed under the Apache License, Version 2.0 (the "License");
~ you may not use this file except in compliance with the License.
~ You may obtain a copy of the License at
~
~ http://www.apache.org/licenses/LICENSE-2.0
~
~ Unless required by applicable law or agreed to in writing, software
~ distributed under the License is distributed on an "AS IS" BASIS,
~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
~ See the License for the specific language governing permissions and
~ limitations under the License.
-->
<module xmlns="urn:jboss:module:1.9" name="com.fasterxml.jackson.core.jackson-core">
<resources>
<artifact name="${com.fasterxml.jackson.core:jackson-core}"></artifact>
</resources>
<dependencies>
<!--WFLY-14219 Remove deprecated <module name="javax.api"/> -->
</dependencies>
</module>

View file

@ -0,0 +1,32 @@
<?xml version="1.0" standalone="no"?>
<!--
~ Copyright 2022 Red Hat, Inc. and/or its affiliates
~ and other contributors as indicated by the @author tags.
~
~ Licensed under the Apache License, Version 2.0 (the "License");
~ you may not use this file except in compliance with the License.
~ You may obtain a copy of the License at
~
~ http://www.apache.org/licenses/LICENSE-2.0
~
~ Unless required by applicable law or agreed to in writing, software
~ distributed under the License is distributed on an "AS IS" BASIS,
~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
~ See the License for the specific language governing permissions and
~ limitations under the License.
-->
<module xmlns="urn:jboss:module:1.9" name="com.fasterxml.jackson.core.jackson-databind">
<resources>
<artifact name="${com.fasterxml.jackson.core:jackson-databind}"></artifact>
</resources>
<dependencies>
<module name="java.desktop"></module>
<module name="java.logging"></module>
<module name="java.sql"></module>
<module name="java.xml"></module>
<!--WFLY-14219 Remove deprecated <module name="javax.api"/> -->
<module name="com.fasterxml.jackson.core.jackson-annotations"></module>
<module name="com.fasterxml.jackson.core.jackson-core"></module>
</dependencies>
</module>

View file

@ -47,6 +47,9 @@ import org.keycloak.testsuite.webauthn.pages.WebAuthnLoginPage;
import org.keycloak.testsuite.webauthn.pages.WebAuthnRegisterPage;
import org.openqa.selenium.virtualauthenticator.VirtualAuthenticatorOptions;
import javax.ws.rs.ClientErrorException;
import static org.hamcrest.CoreMatchers.is;
import static org.hamcrest.CoreMatchers.notNullValue;
import static org.hamcrest.MatcherAssert.assertThat;
import static org.keycloak.models.AuthenticationExecutionModel.Requirement.REQUIRED;
@ -133,10 +136,15 @@ public abstract class AbstractWebAuthnAccountTest extends AbstractAuthTest imple
RequiredActionProviderSimpleRepresentation requiredAction = new RequiredActionProviderSimpleRepresentation();
requiredAction.setProviderId(WebAuthnRegisterFactory.PROVIDER_ID);
requiredAction.setName("blahblah");
testRealmResource().flows().registerRequiredAction(requiredAction);
requiredAction.setProviderId(WebAuthnPasswordlessRegisterFactory.PROVIDER_ID);
testRealmResource().flows().registerRequiredAction(requiredAction);
try {
testRealmResource().flows().registerRequiredAction(requiredAction);
requiredAction.setProviderId(WebAuthnPasswordlessRegisterFactory.PROVIDER_ID);
testRealmResource().flows().registerRequiredAction(requiredAction);
} catch (ClientErrorException e) {
assertThat(e.getResponse(), notNullValue());
assertThat(e.getResponse().getStatus(), is(409));
}
}
protected VirtualAuthenticatorManager getWebAuthnManager() {