diff --git a/clearing-parent/backend-api/pom.xml b/clearing-parent/backend-api/pom.xml
index 138531400..b66387ac0 100644
--- a/clearing-parent/backend-api/pom.xml
+++ b/clearing-parent/backend-api/pom.xml
@@ -4,9 +4,9 @@
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
4.0.0
backend-api
- Clearing Frontend API
- Clearing frontend API module
- war
+ Clearing Backend API
+ Clearing backend API module
+ jar
clearing-parent
@@ -55,8 +55,13 @@
+ true
+ true
ru.spcex.clearing.backendapi.BackendApiApplication
+
+ Maven
+
@@ -82,6 +87,26 @@
+
+ org.springframework.boot
+ spring-boot-maven-plugin
+
+
+
+ repackage
+
+
+
+
+
+
+
+
+
+
+ ${project.artifactId}
+
+
\ No newline at end of file
diff --git a/clearing-parent/backend-api/src/main/java/ru/spcex/clearing/backendapi/config/RestTemplateConfig.java b/clearing-parent/backend-api/src/main/java/ru/spcex/clearing/backendapi/config/RestTemplateConfig.java
new file mode 100644
index 000000000..5ca0bb367
--- /dev/null
+++ b/clearing-parent/backend-api/src/main/java/ru/spcex/clearing/backendapi/config/RestTemplateConfig.java
@@ -0,0 +1,30 @@
+package ru.spcex.clearing.backendapi.config;
+
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.boot.web.client.RestTemplateBuilder;
+import org.springframework.context.annotation.Bean;
+import org.springframework.context.annotation.Configuration;
+import org.springframework.web.client.RestTemplate;
+
+import java.time.Duration;
+
+@Configuration
+public class RestTemplateConfig {
+ private final RestTemplateBuilder builder;
+
+ @Autowired
+ public RestTemplateConfig(RestTemplateBuilder builder) {
+ this.builder = builder;
+ }
+
+ /**
+ * В настоящий момент используется для выгрузки AFS данных
+ */
+ @Bean("clearing-rest")
+ public RestTemplate restTemplate() {
+ return builder
+ .setConnectTimeout(Duration.ofMillis(10000))
+ .setReadTimeout(Duration.ofMillis(40000))
+ .build();
+ }
+}
\ No newline at end of file
diff --git a/clearing-parent/backend-api/src/main/java/ru/spcex/clearing/backendapi/controller/LoginController.java b/clearing-parent/backend-api/src/main/java/ru/spcex/clearing/backendapi/controller/LoginController.java
new file mode 100644
index 000000000..bc5405967
--- /dev/null
+++ b/clearing-parent/backend-api/src/main/java/ru/spcex/clearing/backendapi/controller/LoginController.java
@@ -0,0 +1,48 @@
+package ru.spcex.clearing.backendapi.controller;
+
+import org.keycloak.KeycloakSecurityContext;
+import org.keycloak.adapters.RefreshableKeycloakSecurityContext;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.beans.factory.annotation.Qualifier;
+import org.springframework.http.HttpEntity;
+import org.springframework.http.ResponseEntity;
+import org.springframework.stereotype.Controller;
+import org.springframework.util.MultiValueMap;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RequestMethod;
+import org.springframework.web.client.RestTemplate;
+import ru.spcex.clearing.backendapi.security.TokenRequest;
+
+import javax.servlet.http.HttpServletRequest;
+import javax.servlet.http.HttpServletResponse;
+import java.util.Map;
+
+@Controller
+@RequestMapping("/backend-api-login")
+public class LoginController {
+ private final RestTemplate restTemplate;
+
+ @Autowired
+ public LoginController(@Qualifier("clearing-rest") RestTemplate restTemplate) {
+ this.restTemplate = restTemplate;
+ }
+
+ @RequestMapping(value = "/perform-login", method = RequestMethod.POST)
+ public ResponseEntity