Merge branch 'develop' into feature/SUPPORT-8822
# Conflicts: # backend/src/main/java/ru/micord/ervu/security/esia/EsiaAuthInfoStore.java # backend/src/main/java/ru/micord/ervu/security/esia/service/EsiaAuthService.java
This commit is contained in:
commit
3a0031180e
169 changed files with 1103 additions and 513 deletions
|
|
@ -2,7 +2,6 @@ package ru.micord.ervu.audit.constants;
|
|||
|
||||
|
||||
import java.util.Map;
|
||||
import java.util.Optional;
|
||||
|
||||
/**
|
||||
* @author Adel Kalimullin
|
||||
|
|
@ -18,7 +17,8 @@ public final class AuditConstants {
|
|||
"/", "Главная",
|
||||
"/mydata", "Мои данные",
|
||||
"/subpoena", "Повестки",
|
||||
"/restriction", "Временные меры"
|
||||
"/restriction", "Временные меры",
|
||||
"/home", "Домашняя страница ЛК РП ФЛ"
|
||||
);
|
||||
|
||||
private static final Map<String, String> downloadTypes = Map.of(
|
||||
|
|
@ -27,14 +27,11 @@ public final class AuditConstants {
|
|||
);
|
||||
|
||||
public static String getRouteDescription(String route) {
|
||||
return Optional.ofNullable(routeDescriptions.get(route))
|
||||
.orElseThrow(() -> new IllegalArgumentException("Invalid route :" + route));
|
||||
return routeDescriptions.getOrDefault(route, "Неизвестный маршрут");
|
||||
}
|
||||
|
||||
public static String getDownloadType(String formatRegistry) {
|
||||
return Optional.ofNullable(downloadTypes.get(formatRegistry))
|
||||
.orElseThrow(
|
||||
() -> new IllegalArgumentException("Invalid formatRegistry :" + formatRegistry));
|
||||
return downloadTypes.getOrDefault(formatRegistry, "Неизвестный формат");
|
||||
}
|
||||
|
||||
private AuditConstants() {
|
||||
|
|
|
|||
|
|
@ -29,17 +29,17 @@ import java.util.UUID;
|
|||
@EnableKafka
|
||||
public class ReplyingKafkaConfig {
|
||||
|
||||
@Value("${ervu.kafka.bootstrap.servers}")
|
||||
@Value("${kafka.hosts}")
|
||||
private String bootstrapServers;
|
||||
@Value("${ervu.kafka.security.protocol}")
|
||||
@Value("${kafka.auth_sec_proto}")
|
||||
private String securityProtocol;
|
||||
@Value("${ervu.kafka.doc.login.module}")
|
||||
@Value("${kafka.auth_sasl_module}")
|
||||
private String loginModule;
|
||||
@Value("${ervu.kafka.username}")
|
||||
@Value("${kafka.user}")
|
||||
private String username;
|
||||
@Value("${ervu.kafka.password}")
|
||||
@Value("${kafka.pass}")
|
||||
private String password;
|
||||
@Value("${ervu.kafka.sasl.mechanism}")
|
||||
@Value("${kafka.auth_sasl_mech}")
|
||||
private String saslMechanism;
|
||||
|
||||
@Value("${ervu.kafka.reply.topic}")
|
||||
|
|
|
|||
|
|
@ -8,10 +8,13 @@ import java.util.concurrent.CopyOnWriteArrayList;
|
|||
|
||||
import org.slf4j.Logger;
|
||||
import org.slf4j.LoggerFactory;
|
||||
import ru.micord.ervu.security.esia.exception.EsiaException;
|
||||
import org.springframework.context.support.MessageSourceAccessor;
|
||||
import ru.micord.ervu.security.esia.model.ExpiringState;
|
||||
import ru.micord.ervu.security.esia.model.ExpiringToken;
|
||||
|
||||
import ru.cg.webbpm.modules.core.runtime.api.LocalizedException;
|
||||
import ru.cg.webbpm.modules.core.runtime.api.MessageBundleUtils;
|
||||
|
||||
/**
|
||||
* @author Eduard Tihomirov
|
||||
*/
|
||||
|
|
@ -20,6 +23,8 @@ public class EsiaAuthInfoStore {
|
|||
private static final Map<String, ExpiringToken> ACCESS_TOKENS_MAP = new ConcurrentHashMap<>();
|
||||
private static final Map<String, ExpiringToken> REFRESH_TOKENS_MAP = new ConcurrentHashMap<>();
|
||||
private static final Map<String, List<ExpiringState>> PRNS_UUID_STATE_MAP = new ConcurrentHashMap<>();
|
||||
private static final MessageSourceAccessor MESSAGE_SOURCE = MessageBundleUtils.createAccessor(
|
||||
"messages/common_errors_messages");
|
||||
|
||||
public static void addAccessToken(String prnOid, String token, long expiresIn) {
|
||||
if (token != null) {
|
||||
|
|
@ -89,8 +94,11 @@ public class EsiaAuthInfoStore {
|
|||
if (states == null) {
|
||||
states = new CopyOnWriteArrayList<>();
|
||||
}
|
||||
else {
|
||||
states.removeIf(ExpiringState::isExpired);
|
||||
}
|
||||
if (states.size() >= attemptsCount) {
|
||||
throw new EsiaException("The number of login attempts has been exceeded.");
|
||||
throw new LocalizedException("login_attempts_exceeded", MESSAGE_SOURCE);
|
||||
}
|
||||
states.add(newState);
|
||||
return states;
|
||||
|
|
|
|||
|
|
@ -34,6 +34,8 @@ import org.springframework.security.core.context.SecurityContext;
|
|||
import ru.micord.ervu.audit.constants.AuditConstants;
|
||||
import ru.micord.ervu.audit.service.AuditService;
|
||||
import org.springframework.web.util.WebUtils;
|
||||
import ru.micord.ervu.audit.constants.AuditConstants;
|
||||
import ru.micord.ervu.audit.service.AuditService;
|
||||
import ru.micord.ervu.kafka.model.Document;
|
||||
import ru.micord.ervu.kafka.model.Person;
|
||||
import ru.micord.ervu.kafka.model.Response;
|
||||
|
|
@ -59,6 +61,9 @@ import ru.micord.ervu.security.webbpm.jwt.model.Token;
|
|||
|
||||
import ru.cg.webbpm.modules.core.runtime.api.MessageBundleUtils;
|
||||
|
||||
import static ru.micord.ervu.security.webbpm.jwt.util.SecurityUtil.getCurrentUserEsiaId;
|
||||
import ru.cg.webbpm.modules.core.runtime.api.MessageBundleUtils;
|
||||
|
||||
/**
|
||||
* @author Eduard Tihomirov
|
||||
*/
|
||||
|
|
|
|||
|
|
@ -1,2 +1,3 @@
|
|||
kafka_reply_timeout=Превышено время ожидания ответа от сервера. Попробуйте повторить запрос позже или обратитесь к системному администратору
|
||||
access_denied=Доступ запрещен. Пользователь должен быть включен в группу "Сотрудник, ответственный за военно-учетную работу" в ЕСИА
|
||||
kafka_reply_timeout=Превышено время ожидания ответа от сервера.
|
||||
access_denied=Доступ запрещен. Пользователь должен быть включен в группу "Сотрудник, ответственный за военно-учетную работу" в ЕСИА
|
||||
login_attempts_exceeded=Слишком большое количество попыток авторизоваться в ЕСИА за короткий промежуток времени. Рекомендуем почистить cookie и cash браузера, после повторить авторизацию.
|
||||
|
|
@ -1,2 +1,3 @@
|
|||
kafka_reply_timeout=Превышено время ожидания ответа от сервера. Попробуйте повторить запрос позже или обратитесь к системному администратору
|
||||
access_denied=Доступ запрещен. Пользователь должен быть включен в группу "Сотрудник, ответственный за военно-учетную работу" в ЕСИА
|
||||
kafka_reply_timeout=Превышено время ожидания ответа от сервера.
|
||||
access_denied=Доступ запрещен. Пользователь должен быть включен в группу "Сотрудник, ответственный за военно-учетную работу" в ЕСИА
|
||||
login_attempts_exceeded=Слишком большое количество попыток авторизоваться в ЕСИА за короткий промежуток времени. Рекомендуем почистить cookie и cash браузера, после повторить авторизацию.
|
||||
Loading…
Add table
Add a link
Reference in a new issue