From 883ecf6461ebdf023e26091a605d853ed65f20d5 Mon Sep 17 00:00:00 2001 From: Timo Bejan Date: Thu, 23 Mar 2023 17:24:26 +0200 Subject: [PATCH] RED-4515 - kc createRealm --- .../swagger/SwaggerAutoConfiguration.java | 2 +- .../service/TenantManagementService.java | 23 +------------------ .../src/main/resources/application.yml | 2 +- .../AbstractPersistenceServerServiceTest.java | 12 ++++++++++ .../integration/utils/TokenService.java | 4 ++++ 5 files changed, 19 insertions(+), 24 deletions(-) diff --git a/persistence-service-v1/persistence-service-external-api-impl-v1/src/main/java/com/iqser/red/persistence/service/v1/external/api/impl/swagger/SwaggerAutoConfiguration.java b/persistence-service-v1/persistence-service-external-api-impl-v1/src/main/java/com/iqser/red/persistence/service/v1/external/api/impl/swagger/SwaggerAutoConfiguration.java index 0466f3847..55ebb2387 100644 --- a/persistence-service-v1/persistence-service-external-api-impl-v1/src/main/java/com/iqser/red/persistence/service/v1/external/api/impl/swagger/SwaggerAutoConfiguration.java +++ b/persistence-service-v1/persistence-service-external-api-impl-v1/src/main/java/com/iqser/red/persistence/service/v1/external/api/impl/swagger/SwaggerAutoConfiguration.java @@ -119,7 +119,7 @@ public class SwaggerAutoConfiguration { OAuthFlow flow = createAuthorizationCodeFlow(); - return new OAuthFlows().authorizationCode(flow); + return new OAuthFlows().implicit(flow); } diff --git a/persistence-service-v1/persistence-service-processor-v1/src/main/java/com/iqser/red/service/persistence/management/v1/processor/service/TenantManagementService.java b/persistence-service-v1/persistence-service-processor-v1/src/main/java/com/iqser/red/service/persistence/management/v1/processor/service/TenantManagementService.java index 6e9b7d8ec..88fd99f70 100644 --- a/persistence-service-v1/persistence-service-processor-v1/src/main/java/com/iqser/red/service/persistence/management/v1/processor/service/TenantManagementService.java +++ b/persistence-service-v1/persistence-service-processor-v1/src/main/java/com/iqser/red/service/persistence/management/v1/processor/service/TenantManagementService.java @@ -222,29 +222,8 @@ public class TenantManagementService { redactionClient.setImplicitFlowEnabled(true); redactionClient.setDirectAccessGrantsEnabled(true); - var swaggerClient = new ClientRepresentation(); - swaggerClient.setEnabled(true); - swaggerClient.setName("swagger-ui-client"); - swaggerClient.setClientId("swagger-ui-client"); - swaggerClient.setStandardFlowEnabled(true); - swaggerClient.setImplicitFlowEnabled(false); - swaggerClient.setDirectAccessGrantsEnabled(false); - swaggerClient.setServiceAccountsEnabled(true); - swaggerClient.setAuthorizationServicesEnabled(true); - swaggerClient.setSecret("OsloImWinter!23"); - var redactionSystemClient = new ClientRepresentation(); - redactionSystemClient.setEnabled(true); - redactionSystemClient.setName(keyCloakSettings.getClientId()); - redactionSystemClient.setClientId(keyCloakSettings.getClientId()); - redactionSystemClient.setSecret(keyCloakSettings.getClientSecret()); - swaggerClient.setStandardFlowEnabled(true); - swaggerClient.setImplicitFlowEnabled(true); - swaggerClient.setDirectAccessGrantsEnabled(true); - swaggerClient.setServiceAccountsEnabled(true); - swaggerClient.setAuthorizationServicesEnabled(true); - - redaction.setClients(List.of(redactionClient, redactionSystemClient, swaggerClient)); + redaction.setClients(List.of(redactionClient)); var redUserRole = new RoleRepresentation(); redUserRole.setComposite(true); redUserRole.setName(RED_USER_ROLE); diff --git a/persistence-service-v1/persistence-service-server-v1/src/main/resources/application.yml b/persistence-service-v1/persistence-service-server-v1/src/main/resources/application.yml index 5a574783e..258ef16e5 100644 --- a/persistence-service-v1/persistence-service-server-v1/src/main/resources/application.yml +++ b/persistence-service-v1/persistence-service-server-v1/src/main/resources/application.yml @@ -154,7 +154,7 @@ springdoc: operations-sorter: alpha tags-sorter: alpha oauth: - client-id: swagger-ui-client + client-id: redaction doc-expansion: none enabled: ${swagger.enabled} config-url: /redaction-gateway-v1/docs/swagger-config diff --git a/persistence-service-v1/persistence-service-server-v1/src/test/java/com/iqser/red/service/peristence/v1/server/integration/utils/AbstractPersistenceServerServiceTest.java b/persistence-service-v1/persistence-service-server-v1/src/test/java/com/iqser/red/service/peristence/v1/server/integration/utils/AbstractPersistenceServerServiceTest.java index 177b08c4f..aa6fd1ec8 100644 --- a/persistence-service-v1/persistence-service-server-v1/src/test/java/com/iqser/red/service/peristence/v1/server/integration/utils/AbstractPersistenceServerServiceTest.java +++ b/persistence-service-v1/persistence-service-server-v1/src/test/java/com/iqser/red/service/peristence/v1/server/integration/utils/AbstractPersistenceServerServiceTest.java @@ -16,6 +16,7 @@ import org.junit.jupiter.api.AfterEach; import org.junit.jupiter.api.BeforeEach; import org.junit.jupiter.api.extension.ExtendWith; import org.keycloak.adapters.springboot.KeycloakSpringBootProperties; +import org.keycloak.representations.idm.ClientRepresentation; import org.mockito.Mockito; import org.springframework.amqp.core.AmqpAdmin; import org.springframework.amqp.rabbit.core.RabbitTemplate; @@ -210,6 +211,8 @@ public abstract class AbstractPersistenceServerServiceTest { private UserService userService; @Autowired private TokenService tokenService; + @Autowired + private KeyCloakSettings keyCloakSettings; @BeforeEach @@ -237,6 +240,15 @@ public abstract class AbstractPersistenceServerServiceTest { if (allUsers.isEmpty()) { + + var redactionSystemClient = new ClientRepresentation(); + redactionSystemClient.setEnabled(true); + redactionSystemClient.setName(keyCloakSettings.getClientId()); + redactionSystemClient.setClientId(keyCloakSettings.getClientId()); + redactionSystemClient.setSecret(keyCloakSettings.getClientSecret()); + + KeyCloakTestContainer.getInstance().getKeycloakAdminClient().realm("redaction").clients().create(redactionSystemClient); + var admin1 = createUser("manageradmin1@test.com"); var admin2 = createUser("manageradmin2@test.com"); diff --git a/persistence-service-v1/persistence-service-server-v1/src/test/java/com/iqser/red/service/peristence/v1/server/integration/utils/TokenService.java b/persistence-service-v1/persistence-service-server-v1/src/test/java/com/iqser/red/service/peristence/v1/server/integration/utils/TokenService.java index cb873ee2d..21fc138d1 100644 --- a/persistence-service-v1/persistence-service-server-v1/src/test/java/com/iqser/red/service/peristence/v1/server/integration/utils/TokenService.java +++ b/persistence-service-v1/persistence-service-server-v1/src/test/java/com/iqser/red/service/peristence/v1/server/integration/utils/TokenService.java @@ -2,6 +2,7 @@ package com.iqser.red.service.peristence.v1.server.integration.utils; import java.util.concurrent.TimeUnit; +import javax.ws.rs.BadRequestException; import javax.ws.rs.NotAuthorizedException; import org.jboss.resteasy.client.jaxrs.ResteasyClientBuilder; @@ -48,6 +49,9 @@ public class TokenService { try { return tokenClient.tokenManager().getAccessTokenString(); + } catch (BadRequestException e) { + var response = e.getResponse().getEntity(); + System.out.println(response); } catch (NotAuthorizedException e) { throw new AuthenticationFailedException(e); } finally {