parent
5233f2a729
commit
8ee7ae24de
12 changed files with 3 additions and 20 deletions
|
@ -160,7 +160,7 @@ public class Profile {
|
||||||
SCRIPTS("Write custom authenticators using JavaScript", Type.PREVIEW),
|
SCRIPTS("Write custom authenticators using JavaScript", Type.PREVIEW),
|
||||||
TOKEN_EXCHANGE("Token Exchange Service", Type.PREVIEW),
|
TOKEN_EXCHANGE("Token Exchange Service", Type.PREVIEW),
|
||||||
UPLOAD_SCRIPTS("Ability to upload custom JavaScript through Admin REST API", DEPRECATED),
|
UPLOAD_SCRIPTS("Ability to upload custom JavaScript through Admin REST API", DEPRECATED),
|
||||||
WEB_AUTHN("W3C Web Authentication (WebAuthn)", Type.DEFAULT, Type.PREVIEW),
|
WEB_AUTHN("W3C Web Authentication (WebAuthn)", Type.DEFAULT),
|
||||||
CLIENT_POLICIES("Client configuration policies", Type.DEFAULT),
|
CLIENT_POLICIES("Client configuration policies", Type.DEFAULT),
|
||||||
CIBA("OpenID Connect Client Initiated Backchannel Authentication (CIBA)", Type.DEFAULT),
|
CIBA("OpenID Connect Client Initiated Backchannel Authentication (CIBA)", Type.DEFAULT),
|
||||||
MAP_STORAGE("New store", Type.EXPERIMENTAL),
|
MAP_STORAGE("New store", Type.EXPERIMENTAL),
|
||||||
|
|
|
@ -25,9 +25,6 @@ public class ProfileTest {
|
||||||
assertEquals(Profile.getDisabledFeatures(), Profile.Feature.ADMIN_FINE_GRAINED_AUTHZ, Profile.Feature.DYNAMIC_SCOPES, Profile.Feature.ADMIN2, Profile.Feature.DOCKER, Profile.Feature.RECOVERY_CODES, Profile.Feature.SCRIPTS, Profile.Feature.TOKEN_EXCHANGE, Profile.Feature.OPENSHIFT_INTEGRATION, Profile.Feature.UPLOAD_SCRIPTS, Profile.Feature.MAP_STORAGE, Profile.Feature.DECLARATIVE_USER_PROFILE, Feature.CLIENT_SECRET_ROTATION);
|
assertEquals(Profile.getDisabledFeatures(), Profile.Feature.ADMIN_FINE_GRAINED_AUTHZ, Profile.Feature.DYNAMIC_SCOPES, Profile.Feature.ADMIN2, Profile.Feature.DOCKER, Profile.Feature.RECOVERY_CODES, Profile.Feature.SCRIPTS, Profile.Feature.TOKEN_EXCHANGE, Profile.Feature.OPENSHIFT_INTEGRATION, Profile.Feature.UPLOAD_SCRIPTS, Profile.Feature.MAP_STORAGE, Profile.Feature.DECLARATIVE_USER_PROFILE, Feature.CLIENT_SECRET_ROTATION);
|
||||||
assertEquals(Profile.getPreviewFeatures(), Profile.Feature.ADMIN_FINE_GRAINED_AUTHZ, Profile.Feature.RECOVERY_CODES, Profile.Feature.SCRIPTS, Profile.Feature.TOKEN_EXCHANGE, Profile.Feature.OPENSHIFT_INTEGRATION, Profile.Feature.DECLARATIVE_USER_PROFILE, Feature.CLIENT_SECRET_ROTATION);
|
assertEquals(Profile.getPreviewFeatures(), Profile.Feature.ADMIN_FINE_GRAINED_AUTHZ, Profile.Feature.RECOVERY_CODES, Profile.Feature.SCRIPTS, Profile.Feature.TOKEN_EXCHANGE, Profile.Feature.OPENSHIFT_INTEGRATION, Profile.Feature.DECLARATIVE_USER_PROFILE, Feature.CLIENT_SECRET_ROTATION);
|
||||||
assertEquals(Profile.getDeprecatedFeatures(), Profile.Feature.UPLOAD_SCRIPTS);
|
assertEquals(Profile.getDeprecatedFeatures(), Profile.Feature.UPLOAD_SCRIPTS);
|
||||||
|
|
||||||
Assert.assertTrue(Profile.Feature.WEB_AUTHN.hasDifferentProductType());
|
|
||||||
Assert.assertEquals(Profile.Feature.WEB_AUTHN.getTypeProject(), Profile.Type.DEFAULT);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
|
@ -38,13 +35,10 @@ public class ProfileTest {
|
||||||
Profile.init();
|
Profile.init();
|
||||||
|
|
||||||
Assert.assertEquals("product", Profile.getName());
|
Assert.assertEquals("product", Profile.getName());
|
||||||
assertEquals(Profile.getDisabledFeatures(), Profile.Feature.ADMIN_FINE_GRAINED_AUTHZ, Profile.Feature.DYNAMIC_SCOPES, Profile.Feature.ADMIN2, Profile.Feature.DOCKER, Profile.Feature.RECOVERY_CODES, Profile.Feature.SCRIPTS, Profile.Feature.TOKEN_EXCHANGE, Profile.Feature.OPENSHIFT_INTEGRATION, Profile.Feature.UPLOAD_SCRIPTS, Profile.Feature.WEB_AUTHN, Profile.Feature.MAP_STORAGE, Profile.Feature.DECLARATIVE_USER_PROFILE, Feature.CLIENT_SECRET_ROTATION);
|
assertEquals(Profile.getDisabledFeatures(), Profile.Feature.ADMIN_FINE_GRAINED_AUTHZ, Profile.Feature.DYNAMIC_SCOPES, Profile.Feature.ADMIN2, Profile.Feature.DOCKER, Profile.Feature.RECOVERY_CODES, Profile.Feature.SCRIPTS, Profile.Feature.TOKEN_EXCHANGE, Profile.Feature.OPENSHIFT_INTEGRATION, Profile.Feature.UPLOAD_SCRIPTS, Profile.Feature.MAP_STORAGE, Profile.Feature.DECLARATIVE_USER_PROFILE, Feature.CLIENT_SECRET_ROTATION);
|
||||||
assertEquals(Profile.getPreviewFeatures(), Profile.Feature.ADMIN_FINE_GRAINED_AUTHZ, Profile.Feature.RECOVERY_CODES, Profile.Feature.SCRIPTS, Profile.Feature.TOKEN_EXCHANGE, Profile.Feature.OPENSHIFT_INTEGRATION, Profile.Feature.WEB_AUTHN, Profile.Feature.DECLARATIVE_USER_PROFILE, Feature.CLIENT_SECRET_ROTATION);
|
assertEquals(Profile.getPreviewFeatures(), Profile.Feature.ADMIN_FINE_GRAINED_AUTHZ, Profile.Feature.RECOVERY_CODES, Profile.Feature.SCRIPTS, Profile.Feature.TOKEN_EXCHANGE, Profile.Feature.OPENSHIFT_INTEGRATION, Profile.Feature.DECLARATIVE_USER_PROFILE, Feature.CLIENT_SECRET_ROTATION);
|
||||||
assertEquals(Profile.getDeprecatedFeatures(), Profile.Feature.UPLOAD_SCRIPTS);
|
assertEquals(Profile.getDeprecatedFeatures(), Profile.Feature.UPLOAD_SCRIPTS);
|
||||||
|
|
||||||
Assert.assertTrue(Profile.Feature.WEB_AUTHN.hasDifferentProductType());
|
|
||||||
Assert.assertEquals(Profile.Feature.WEB_AUTHN.getTypeProduct(), Profile.Type.PREVIEW);
|
|
||||||
|
|
||||||
System.setProperty("keycloak.profile", "community");
|
System.setProperty("keycloak.profile", "community");
|
||||||
Version.NAME = backUpName;
|
Version.NAME = backUpName;
|
||||||
Profile.init();
|
Profile.init();
|
||||||
|
|
|
@ -90,7 +90,6 @@ import static org.junit.Assert.assertTrue;
|
||||||
* @author <a href="mailto:sthorger@redhat.com">Stian Thorgersen</a>
|
* @author <a href="mailto:sthorger@redhat.com">Stian Thorgersen</a>
|
||||||
*/
|
*/
|
||||||
@AuthServerContainerExclude(AuthServer.REMOTE)
|
@AuthServerContainerExclude(AuthServer.REMOTE)
|
||||||
@EnableFeature(value = Profile.Feature.WEB_AUTHN, skipRestart = true, onlyForProduct = true)
|
|
||||||
public class AccountRestServiceTest extends AbstractRestServiceTest {
|
public class AccountRestServiceTest extends AbstractRestServiceTest {
|
||||||
|
|
||||||
@Rule
|
@Rule
|
||||||
|
|
|
@ -322,7 +322,6 @@ public class ExecutionTest extends AbstractAuthenticationTest {
|
||||||
}
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
@EnableFeature(value = Profile.Feature.WEB_AUTHN, skipRestart = true, onlyForProduct = true)
|
|
||||||
@AuthServerContainerExclude(AuthServer.REMOTE)
|
@AuthServerContainerExclude(AuthServer.REMOTE)
|
||||||
public void testRequirementsInExecution() {
|
public void testRequirementsInExecution() {
|
||||||
HashMap<String, String> params = new HashMap<>();
|
HashMap<String, String> params = new HashMap<>();
|
||||||
|
|
|
@ -41,7 +41,6 @@ import static org.hamcrest.Matchers.is;
|
||||||
/**
|
/**
|
||||||
* @author <a href="mailto:mstrukel@redhat.com">Marko Strukelj</a>
|
* @author <a href="mailto:mstrukel@redhat.com">Marko Strukelj</a>
|
||||||
*/
|
*/
|
||||||
@EnableFeature(value = Profile.Feature.WEB_AUTHN, skipRestart = true, onlyForProduct = true)
|
|
||||||
public class ProvidersTest extends AbstractAuthenticationTest {
|
public class ProvidersTest extends AbstractAuthenticationTest {
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
|
|
|
@ -39,7 +39,6 @@ import java.util.Map;
|
||||||
/**
|
/**
|
||||||
* @author <a href="mailto:mstrukel@redhat.com">Marko Strukelj</a>
|
* @author <a href="mailto:mstrukel@redhat.com">Marko Strukelj</a>
|
||||||
*/
|
*/
|
||||||
@EnableFeature(value = Profile.Feature.WEB_AUTHN, skipRestart = true, onlyForProduct = true)
|
|
||||||
public class RequiredActionsTest extends AbstractAuthenticationTest {
|
public class RequiredActionsTest extends AbstractAuthenticationTest {
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
|
|
|
@ -69,7 +69,6 @@ import static org.keycloak.testsuite.broker.SocialLoginTest.Provider.GITHUB;
|
||||||
import static org.keycloak.testsuite.broker.SocialLoginTest.Provider.GITLAB;
|
import static org.keycloak.testsuite.broker.SocialLoginTest.Provider.GITLAB;
|
||||||
import static org.keycloak.testsuite.broker.SocialLoginTest.Provider.GOOGLE;
|
import static org.keycloak.testsuite.broker.SocialLoginTest.Provider.GOOGLE;
|
||||||
|
|
||||||
@EnableFeature(value = Profile.Feature.WEB_AUTHN, skipRestart = true, onlyForProduct = true)
|
|
||||||
public class BrowserFlowTest extends AbstractTestRealmKeycloakTest {
|
public class BrowserFlowTest extends AbstractTestRealmKeycloakTest {
|
||||||
private static final String INVALID_AUTH_CODE = "Invalid authenticator code.";
|
private static final String INVALID_AUTH_CODE = "Invalid authenticator code.";
|
||||||
|
|
||||||
|
|
|
@ -243,7 +243,6 @@ public class MultiFactorAuthenticationTest extends AbstractTestRealmKeycloakTest
|
||||||
// Test for the case when user can authenticate either with: WebAuthn OR (Password AND OTP)
|
// Test for the case when user can authenticate either with: WebAuthn OR (Password AND OTP)
|
||||||
// WebAuthn is not enabled for the user, so he needs to use password AND OTP
|
// WebAuthn is not enabled for the user, so he needs to use password AND OTP
|
||||||
@Test
|
@Test
|
||||||
@EnableFeature(value = Profile.Feature.WEB_AUTHN, skipRestart = true, onlyForProduct = true)
|
|
||||||
public void testAlternativeMechanismsInDifferentSubflows_firstMechanismUnavailable() {
|
public void testAlternativeMechanismsInDifferentSubflows_firstMechanismUnavailable() {
|
||||||
final String newFlowAlias = "browser - alternative mechanisms";
|
final String newFlowAlias = "browser - alternative mechanisms";
|
||||||
testingClient.server("test").run(session -> FlowUtil.inCurrentRealm(session).copyBrowserFlow(newFlowAlias));
|
testingClient.server("test").run(session -> FlowUtil.inCurrentRealm(session).copyBrowserFlow(newFlowAlias));
|
||||||
|
|
|
@ -82,7 +82,6 @@ import static org.keycloak.testsuite.util.WaitUtils.waitForPageToLoad;
|
||||||
*
|
*
|
||||||
* @author <a href="mailto:mabartos@redhat.com">Martin Bartos</a>
|
* @author <a href="mailto:mabartos@redhat.com">Martin Bartos</a>
|
||||||
*/
|
*/
|
||||||
@EnableFeature(value = Profile.Feature.WEB_AUTHN, skipRestart = true, onlyForProduct = true)
|
|
||||||
@AuthServerContainerExclude(REMOTE)
|
@AuthServerContainerExclude(REMOTE)
|
||||||
public abstract class AbstractWebAuthnVirtualTest extends AbstractTestRealmKeycloakTest implements UseVirtualAuthenticators {
|
public abstract class AbstractWebAuthnVirtualTest extends AbstractTestRealmKeycloakTest implements UseVirtualAuthenticators {
|
||||||
|
|
||||||
|
|
|
@ -49,7 +49,6 @@ import java.util.function.Supplier;
|
||||||
|
|
||||||
import static org.hamcrest.CoreMatchers.is;
|
import static org.hamcrest.CoreMatchers.is;
|
||||||
import static org.hamcrest.MatcherAssert.assertThat;
|
import static org.hamcrest.MatcherAssert.assertThat;
|
||||||
import static org.keycloak.common.Profile.Feature.WEB_AUTHN;
|
|
||||||
import static org.keycloak.models.AuthenticationExecutionModel.Requirement.ALTERNATIVE;
|
import static org.keycloak.models.AuthenticationExecutionModel.Requirement.ALTERNATIVE;
|
||||||
import static org.keycloak.models.AuthenticationExecutionModel.Requirement.REQUIRED;
|
import static org.keycloak.models.AuthenticationExecutionModel.Requirement.REQUIRED;
|
||||||
import static org.keycloak.testsuite.arquillian.annotation.AuthServerContainerExclude.AuthServer.REMOTE;
|
import static org.keycloak.testsuite.arquillian.annotation.AuthServerContainerExclude.AuthServer.REMOTE;
|
||||||
|
@ -59,7 +58,6 @@ import static org.keycloak.testsuite.util.WaitUtils.waitForPageToLoad;
|
||||||
/**
|
/**
|
||||||
* @author <a href="mailto:mabartos@redhat.com">Martin Bartos</a>
|
* @author <a href="mailto:mabartos@redhat.com">Martin Bartos</a>
|
||||||
*/
|
*/
|
||||||
@EnableFeature(value = WEB_AUTHN, skipRestart = true, onlyForProduct = true)
|
|
||||||
@AuthServerContainerExclude(REMOTE)
|
@AuthServerContainerExclude(REMOTE)
|
||||||
public class AppInitiatedActionWebAuthnTest extends AbstractAppInitiatedActionTest implements UseVirtualAuthenticators {
|
public class AppInitiatedActionWebAuthnTest extends AbstractAppInitiatedActionTest implements UseVirtualAuthenticators {
|
||||||
|
|
||||||
|
|
|
@ -31,7 +31,6 @@ import org.keycloak.testsuite.arquillian.annotation.EnableFeature;
|
||||||
|
|
||||||
import java.util.Set;
|
import java.util.Set;
|
||||||
|
|
||||||
@EnableFeature(value = Profile.Feature.WEB_AUTHN, skipRestart = true, onlyForProduct = true)
|
|
||||||
public class WebAuthnFeatureTest extends AbstractTestRealmKeycloakTest {
|
public class WebAuthnFeatureTest extends AbstractTestRealmKeycloakTest {
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
|
|
@ -53,7 +53,6 @@ import static org.keycloak.models.AuthenticationExecutionModel.Requirement.REQUI
|
||||||
import static org.keycloak.testsuite.util.BrowserDriverUtil.isDriverFirefox;
|
import static org.keycloak.testsuite.util.BrowserDriverUtil.isDriverFirefox;
|
||||||
import static org.keycloak.testsuite.util.WaitUtils.waitForPageToLoad;
|
import static org.keycloak.testsuite.util.WaitUtils.waitForPageToLoad;
|
||||||
|
|
||||||
@EnableFeature(value = Profile.Feature.WEB_AUTHN, skipRestart = true, onlyForProduct = true)
|
|
||||||
public abstract class AbstractWebAuthnAccountTest extends AbstractAuthTest implements UseVirtualAuthenticators {
|
public abstract class AbstractWebAuthnAccountTest extends AbstractAuthTest implements UseVirtualAuthenticators {
|
||||||
|
|
||||||
@Page
|
@Page
|
||||||
|
|
Loading…
Reference in a new issue