From 596d0dd8cb4c9f6bc686f954e97a12998fcd9c94 Mon Sep 17 00:00:00 2001 From: "adel.ka" Date: Mon, 31 Mar 2025 15:25:27 +0300 Subject: [PATCH] use idm --- .../component/service/AbstractIdmValidatorService.java | 10 +++------- .../component/service/ErvuUserGridLoadService.java | 7 +++---- .../component/service/IdmLoginValidatorService.java | 7 +++---- .../component/service/IdmSnilsValidatorService.java | 7 +++---- .../service/AbstractUserDataService.java | 10 +++------- .../service/AccountServiceImpl.java | 7 +++---- .../account_applications/service/RoleServiceImpl.java | 7 +++---- .../service/UserCredentialsServiceIpml.java | 7 +++---- .../service/constant/PathConstant.java | 4 ++-- config/dev/standalone.xml | 1 + config/micord.env | 3 ++- 11 files changed, 29 insertions(+), 41 deletions(-) diff --git a/backend/src/main/java/ru/micord/ervu/account_applications/component/service/AbstractIdmValidatorService.java b/backend/src/main/java/ru/micord/ervu/account_applications/component/service/AbstractIdmValidatorService.java index a891eb99..4c2a5b63 100644 --- a/backend/src/main/java/ru/micord/ervu/account_applications/component/service/AbstractIdmValidatorService.java +++ b/backend/src/main/java/ru/micord/ervu/account_applications/component/service/AbstractIdmValidatorService.java @@ -5,26 +5,22 @@ import org.springframework.http.HttpEntity; import org.springframework.http.HttpHeaders; import org.springframework.http.MediaType; import org.springframework.web.client.RestTemplate; -import ru.micord.ervu.account_applications.security.context.SecurityContext; /** * @author Emir Suleimanov */ public abstract class AbstractIdmValidatorService implements IdmValidatorService{ protected RestTemplate restTemplate; - protected SecurityContext securityContext; - @Value("${ervu.url}") - protected String ervuUrl; + @Value("${idm.url}") + protected String idmUrl; - public AbstractIdmValidatorService(RestTemplate restTemplate, SecurityContext securityContext) { + public AbstractIdmValidatorService(RestTemplate restTemplate) { this.restTemplate = restTemplate; - this.securityContext = securityContext; } public HttpEntity createRequestEntity() { HttpHeaders headers = new HttpHeaders(); - headers.setBearerAuth(securityContext.getToken()); headers.setContentType(MediaType.APPLICATION_JSON); return new HttpEntity<>(headers); } diff --git a/backend/src/main/java/ru/micord/ervu/account_applications/component/service/ErvuUserGridLoadService.java b/backend/src/main/java/ru/micord/ervu/account_applications/component/service/ErvuUserGridLoadService.java index 3853fa76..93394b97 100644 --- a/backend/src/main/java/ru/micord/ervu/account_applications/component/service/ErvuUserGridLoadService.java +++ b/backend/src/main/java/ru/micord/ervu/account_applications/component/service/ErvuUserGridLoadService.java @@ -43,8 +43,8 @@ public class ErvuUserGridLoadService extends Behavior implements GridService { private final SecurityContext securityContext; @Value("${ervu.http.timeout:30}") private int httpTimeout; - @Value("${ervu.url}") - private String ervuUrl; + @Value("${idm.url}") + private String idmUrl; public ErvuUserGridLoadService(ObjectMapper objectMapper, SecurityContext securityContext) { @@ -85,11 +85,10 @@ public class ErvuUserGridLoadService extends Behavior implements GridService { .build(); HttpRequest request = HttpRequest.newBuilder() - .uri(UriComponentsBuilder.fromHttpUrl(ervuUrl) + .uri(UriComponentsBuilder.fromHttpUrl(idmUrl) .pathSegment(PathConstant.ACCOUNTS_PATH, FILTER_PATH) .build().toUri()) .header(HttpHeaders.CONTENT_TYPE, "application/json") - .header(HttpHeaders.AUTHORIZATION, "Bearer " + securityContext.getToken()) .timeout(Duration.ofSeconds(httpTimeout)) .POST(HttpRequest.BodyPublishers.ofString(requestBody)) .build(); diff --git a/backend/src/main/java/ru/micord/ervu/account_applications/component/service/IdmLoginValidatorService.java b/backend/src/main/java/ru/micord/ervu/account_applications/component/service/IdmLoginValidatorService.java index 787faaba..85dd8676 100644 --- a/backend/src/main/java/ru/micord/ervu/account_applications/component/service/IdmLoginValidatorService.java +++ b/backend/src/main/java/ru/micord/ervu/account_applications/component/service/IdmLoginValidatorService.java @@ -10,7 +10,6 @@ import org.springframework.http.HttpEntity; import org.springframework.stereotype.Service; import org.springframework.web.client.RestTemplate; import ru.micord.ervu.account_applications.component.exception.IdmValidatorException; -import ru.micord.ervu.account_applications.security.context.SecurityContext; /** * @author Emir Suleimanov @@ -18,13 +17,13 @@ import ru.micord.ervu.account_applications.security.context.SecurityContext; @Service public class IdmLoginValidatorService extends AbstractIdmValidatorService{ - public IdmLoginValidatorService(RestTemplate restTemplate, SecurityContext securityContext) { - super(restTemplate, securityContext); + public IdmLoginValidatorService(RestTemplate restTemplate) { + super(restTemplate); } @Override public boolean valueExists(String login) { - String url = String.format("%s/service/idm/credentials/login/%s", ervuUrl, login); + String url = String.format("%s/credentials/login/%s", idmUrl, login); HttpEntity entity = createRequestEntity(); try { ResponseEntity>> response = restTemplate.exchange( diff --git a/backend/src/main/java/ru/micord/ervu/account_applications/component/service/IdmSnilsValidatorService.java b/backend/src/main/java/ru/micord/ervu/account_applications/component/service/IdmSnilsValidatorService.java index 1affcc28..562aece5 100644 --- a/backend/src/main/java/ru/micord/ervu/account_applications/component/service/IdmSnilsValidatorService.java +++ b/backend/src/main/java/ru/micord/ervu/account_applications/component/service/IdmSnilsValidatorService.java @@ -11,7 +11,6 @@ import org.springframework.stereotype.Service; import org.springframework.web.client.RestTemplate; import ru.micord.ervu.account_applications.component.exception.IdmValidatorException; import ru.micord.ervu.account_applications.component.model.dto.IdmPersonsResponse; -import ru.micord.ervu.account_applications.security.context.SecurityContext; /** * @author Emir Suleimanov @@ -19,13 +18,13 @@ import ru.micord.ervu.account_applications.security.context.SecurityContext; @Service public class IdmSnilsValidatorService extends AbstractIdmValidatorService { - public IdmSnilsValidatorService(RestTemplate restTemplate, SecurityContext securityContext) { - super(restTemplate, securityContext); + public IdmSnilsValidatorService(RestTemplate restTemplate) { + super(restTemplate); } @Override public boolean valueExists(String snils) { - String url = String.format("%s/service/idm/persons?query=snils==\"%s\"", ervuUrl, snils); + String url = String.format("%s/persons?query=snils==\"%s\"", idmUrl, snils); HttpEntity entity = createRequestEntity(); try { ResponseEntity response = restTemplate.exchange( diff --git a/backend/src/main/java/ru/micord/ervu/account_applications/service/AbstractUserDataService.java b/backend/src/main/java/ru/micord/ervu/account_applications/service/AbstractUserDataService.java index 031ee3d4..2d7be9c1 100644 --- a/backend/src/main/java/ru/micord/ervu/account_applications/service/AbstractUserDataService.java +++ b/backend/src/main/java/ru/micord/ervu/account_applications/service/AbstractUserDataService.java @@ -12,7 +12,6 @@ import com.fasterxml.jackson.databind.ObjectMapper; import com.google.common.net.HttpHeaders; import org.springframework.beans.factory.annotation.Value; import ru.micord.ervu.account_applications.component.exception.ApiResponseException; -import ru.micord.ervu.account_applications.security.context.SecurityContext; /** @@ -20,15 +19,13 @@ import ru.micord.ervu.account_applications.security.context.SecurityContext; */ public abstract class AbstractUserDataService implements UserDataService { protected final ObjectMapper objectMapper; - protected final SecurityContext securityContext; @Value("${ervu.http.timeout:30}") protected int httpTimeout; - @Value("${ervu.url}") - protected String ervuUrl; + @Value("${idm.url}") + protected String idmUrl; - protected AbstractUserDataService(ObjectMapper objectMapper, SecurityContext securityContext) { + protected AbstractUserDataService(ObjectMapper objectMapper) { this.objectMapper = objectMapper; - this.securityContext = securityContext; } protected HttpResponse sendGetRequest(String url) @@ -40,7 +37,6 @@ public abstract class AbstractUserDataService implements UserDataService { HttpRequest request = HttpRequest.newBuilder() .uri(URI.create(url)) .header(HttpHeaders.CONTENT_TYPE, "application/json") - .header(HttpHeaders.AUTHORIZATION, "Bearer " + securityContext.getToken()) .timeout(Duration.ofSeconds(httpTimeout)) .GET() .build(); diff --git a/backend/src/main/java/ru/micord/ervu/account_applications/service/AccountServiceImpl.java b/backend/src/main/java/ru/micord/ervu/account_applications/service/AccountServiceImpl.java index 605ef94e..119969e0 100644 --- a/backend/src/main/java/ru/micord/ervu/account_applications/service/AccountServiceImpl.java +++ b/backend/src/main/java/ru/micord/ervu/account_applications/service/AccountServiceImpl.java @@ -17,7 +17,6 @@ import org.springframework.util.ClassUtils; import org.springframework.web.util.UriComponentsBuilder; import ru.micord.ervu.account_applications.component.exception.UserDataLoadException; import ru.micord.ervu.account_applications.component.model.Account; -import ru.micord.ervu.account_applications.security.context.SecurityContext; import ru.micord.ervu.account_applications.service.constant.PathConstant; import ru.cg.webbpm.modules.standard_annotations.editor.ObjectRef; @@ -31,8 +30,8 @@ public class AccountServiceImpl extends AbstractUserDataService { @ObjectRef public EditableGridColumn editableGridColumnRef; - public AccountServiceImpl(ObjectMapper objectMapper, SecurityContext securityContext) { - super(objectMapper, securityContext); + public AccountServiceImpl(ObjectMapper objectMapper) { + super(objectMapper); } @Override @@ -42,7 +41,7 @@ public class AccountServiceImpl extends AbstractUserDataService { } private Account fetchAccountById(Object id) throws IOException, InterruptedException { - String url = UriComponentsBuilder.fromHttpUrl(ervuUrl) + String url = UriComponentsBuilder.fromHttpUrl(idmUrl) .path(PathConstant.ACCOUNTS_PATH) .pathSegment(id.toString()) .queryParam("expand", "person,user-domain,region") diff --git a/backend/src/main/java/ru/micord/ervu/account_applications/service/RoleServiceImpl.java b/backend/src/main/java/ru/micord/ervu/account_applications/service/RoleServiceImpl.java index 85b8ad5b..f7a3ce4d 100644 --- a/backend/src/main/java/ru/micord/ervu/account_applications/service/RoleServiceImpl.java +++ b/backend/src/main/java/ru/micord/ervu/account_applications/service/RoleServiceImpl.java @@ -26,9 +26,8 @@ import ru.micord.ervu.account_applications.service.constant.PathConstant; public class RoleServiceImpl extends AbstractUserDataService { private static final String ROLES = "roles"; - protected RoleServiceImpl(ObjectMapper objectMapper, - SecurityContext securityContext) { - super(objectMapper, securityContext); + protected RoleServiceImpl(ObjectMapper objectMapper) { + super(objectMapper); } @Override @@ -50,7 +49,7 @@ public class RoleServiceImpl extends AbstractUserDataService { } private List fetchRolesByAccountId(Object accountId) throws IOException, InterruptedException { - String url = UriComponentsBuilder.fromHttpUrl(ervuUrl) + String url = UriComponentsBuilder.fromHttpUrl(idmUrl) .path(PathConstant.ACCOUNTS_PATH) .pathSegment(accountId.toString(), ROLES) .toUriString(); diff --git a/backend/src/main/java/ru/micord/ervu/account_applications/service/UserCredentialsServiceIpml.java b/backend/src/main/java/ru/micord/ervu/account_applications/service/UserCredentialsServiceIpml.java index ee5ce956..a6de5a9d 100644 --- a/backend/src/main/java/ru/micord/ervu/account_applications/service/UserCredentialsServiceIpml.java +++ b/backend/src/main/java/ru/micord/ervu/account_applications/service/UserCredentialsServiceIpml.java @@ -11,7 +11,6 @@ import com.fasterxml.jackson.databind.type.CollectionType; import org.springframework.stereotype.Service; import org.springframework.web.util.UriComponentsBuilder; import ru.micord.ervu.account_applications.component.model.Credential; -import ru.micord.ervu.account_applications.security.context.SecurityContext; import ru.micord.ervu.account_applications.service.constant.PathConstant; /** @@ -21,8 +20,8 @@ import ru.micord.ervu.account_applications.service.constant.PathConstant; public class UserCredentialsServiceIpml extends AbstractUserDataService { private static final String CREDENTIALS = "credentials"; - public UserCredentialsServiceIpml(ObjectMapper objectMapper, SecurityContext securityContext) { - super(objectMapper, securityContext); + public UserCredentialsServiceIpml(ObjectMapper objectMapper) { + super(objectMapper); } @Override @@ -32,7 +31,7 @@ public class UserCredentialsServiceIpml extends AbstractUserDataService { } private List fetchCredentialsByPersonId(Object personId) throws IOException, InterruptedException { - String url = UriComponentsBuilder.fromHttpUrl(ervuUrl) + String url = UriComponentsBuilder.fromHttpUrl(idmUrl) .path(PathConstant.PERSONS_PATH) .pathSegment(personId.toString(), CREDENTIALS) .toUriString(); diff --git a/backend/src/main/java/ru/micord/ervu/account_applications/service/constant/PathConstant.java b/backend/src/main/java/ru/micord/ervu/account_applications/service/constant/PathConstant.java index 64e3acf8..f6f2faaa 100644 --- a/backend/src/main/java/ru/micord/ervu/account_applications/service/constant/PathConstant.java +++ b/backend/src/main/java/ru/micord/ervu/account_applications/service/constant/PathConstant.java @@ -4,8 +4,8 @@ package ru.micord.ervu.account_applications.service.constant; * @author Adel Kalimullin */ public final class PathConstant { - public static final String ACCOUNTS_PATH = "service/idm/accounts"; - public static final String PERSONS_PATH = "service/idm/persons"; + public static final String ACCOUNTS_PATH = "accounts"; + public static final String PERSONS_PATH = "persons"; private PathConstant() { } diff --git a/config/dev/standalone.xml b/config/dev/standalone.xml index c7a8418f..21a35d0d 100644 --- a/config/dev/standalone.xml +++ b/config/dev/standalone.xml @@ -58,6 +58,7 @@ + diff --git a/config/micord.env b/config/micord.env index 3d7f7dfd..49230e5e 100644 --- a/config/micord.env +++ b/config/micord.env @@ -26,4 +26,5 @@ ERVU_URL=https://ervu-dev.pgs.rtlabs.ru ERVU_HTTP_TIMEOUT=30 ERVU_PWD_SIGN_SECRET_KEY=xoL2Y3VRdQ4phXG85o6dRqcgqb4bk6ULdkJJdlRLhZM= KAFKA_ROLE_RECONCILIATION=idmv2.role.reconciliation -KAFKA_DOMAIN_RECONCILIATION=idmv2.domain.reconciliation \ No newline at end of file +KAFKA_DOMAIN_RECONCILIATION=idmv2.domain.reconciliation +IDM_URL=http://idm \ No newline at end of file