SUPPORT-9331: Fix
This commit is contained in:
parent
f00d5af8bc
commit
838e1f8358
3 changed files with 25 additions and 4 deletions
|
|
@ -406,7 +406,10 @@ public class EsiaAuthService {
|
|||
}
|
||||
}
|
||||
|
||||
private void errorHandler(HttpResponse<?> httpResponse) {
|
||||
private void errorHandler(HttpResponse<String> httpResponse) throws JsonProcessingException {
|
||||
if (httpResponse.statusCode() == 500) {
|
||||
processSignModuleError(httpResponse);
|
||||
}
|
||||
if (httpResponse.statusCode() != 200) {
|
||||
throw new EsiaException(httpResponse.statusCode() + " " + httpResponse.body());
|
||||
}
|
||||
|
|
@ -557,7 +560,7 @@ public class EsiaAuthService {
|
|||
SecurityContextHolder.setContext(context);
|
||||
}
|
||||
|
||||
private String verifyToken(String accessToken) {
|
||||
private String verifyToken(String accessToken) throws JsonProcessingException {
|
||||
EsiaAccessToken esiaAccessToken = ulDataService.readToken(accessToken);
|
||||
EsiaHeader esiaHeader = ulDataService.readHeader(accessToken);
|
||||
if (!esiaHeader.getSbt().equals("access")) {
|
||||
|
|
@ -590,6 +593,9 @@ public class EsiaAuthService {
|
|||
}
|
||||
HttpResponse<String> response = signVerify(accessToken);
|
||||
if (response.statusCode() != 200) {
|
||||
if (response.statusCode() == 500) {
|
||||
processSignModuleError(response);
|
||||
}
|
||||
if (response.statusCode() == 401) {
|
||||
return "Token invalid. " + response.body();
|
||||
}
|
||||
|
|
@ -636,4 +642,17 @@ public class EsiaAuthService {
|
|||
securityHelper.clearAccessCookie(response, PRNS_UUID);
|
||||
}
|
||||
}
|
||||
|
||||
private void processSignModuleError(HttpResponse<String> response)
|
||||
throws JsonProcessingException {
|
||||
String errorCode = objectMapper.readTree(response.body())
|
||||
.get("error_code")
|
||||
.asText();
|
||||
if (errorCode.equals("CERT_TRUST_REVOCATION_STATUS_UNKNOWN")) {
|
||||
throw new LocalizedException("crl_certificate_expired", MESSAGE_SOURCE);
|
||||
}
|
||||
else {
|
||||
throw new EsiaException("Unknown error in verify module. Error code " + errorCode);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,3 +1,4 @@
|
|||
kafka_reply_timeout=Превышено время ожидания ответа от сервера.
|
||||
access_denied=Доступ запрещен. Пользователь должен быть включен в группу "Сотрудник, ответственный за военно-учетную работу" в ЕСИА
|
||||
login_attempts_exceeded=Слишком большое количество попыток авторизоваться в ЕСИА за короткий промежуток времени. Рекомендуем почистить cookie и cash браузера, после повторить авторизацию.
|
||||
login_attempts_exceeded=Слишком большое количество попыток авторизоваться в ЕСИА за короткий промежуток времени. Рекомендуем почистить cookie и cash браузера, после повторить авторизацию.
|
||||
crl_certificate_expired=Превышено время ожидания ответа из ЕСИА
|
||||
|
|
@ -1,3 +1,4 @@
|
|||
kafka_reply_timeout=Превышено время ожидания ответа от сервера.
|
||||
access_denied=Доступ запрещен. Пользователь должен быть включен в группу "Сотрудник, ответственный за военно-учетную работу" в ЕСИА
|
||||
login_attempts_exceeded=Слишком большое количество попыток авторизоваться в ЕСИА за короткий промежуток времени. Рекомендуем почистить cookie и cash браузера, после повторить авторизацию.
|
||||
login_attempts_exceeded=Слишком большое количество попыток авторизоваться в ЕСИА за короткий промежуток времени. Рекомендуем почистить cookie и cash браузера, после повторить авторизацию.
|
||||
crl_certificate_expired=Превышено время ожидания ответа из ЕСИА
|
||||
Loading…
Add table
Add a link
Reference in a new issue