diff --git a/backend/src/main/java/ru/micord/ervu/security/esia/service/EsiaAuthService.java b/backend/src/main/java/ru/micord/ervu/security/esia/service/EsiaAuthService.java index 0cfaa8f..7386c9e 100644 --- a/backend/src/main/java/ru/micord/ervu/security/esia/service/EsiaAuthService.java +++ b/backend/src/main/java/ru/micord/ervu/security/esia/service/EsiaAuthService.java @@ -156,7 +156,11 @@ public ResponseEntity getEsiaTokensByCode(String esiaAuthCode, String error, HttpServletRequest request, HttpServletResponse response) { try { if (error != null) { - throw new RuntimeException(error); + createTokenAndAddCookie(response, null, null, EXPIRES_IN); + return new ResponseEntity<>( + "Произошла ошибка неизвестная ошибка. Обратитесь к системному администратору", + HttpStatus.FORBIDDEN + ); } String clientId = esiaConfig.getClientId(); DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy.MM.dd HH:mm:ss xx"); diff --git a/frontend/src/ts/modules/security/guard/auth.guard.ts b/frontend/src/ts/modules/security/guard/auth.guard.ts index ed18f16..56c2339 100644 --- a/frontend/src/ts/modules/security/guard/auth.guard.ts +++ b/frontend/src/ts/modules/security/guard/auth.guard.ts @@ -47,15 +47,19 @@ export abstract class AuthGuard implements CanActivate { ? reason.error.messages : reason.error.replaceAll('\\', ''); if (error) { - reason = 'Произошла неизвестная ошибка. Обратитесь к системному администратору'; + errorMessage = 'Произошла неизвестная ошибка. Обратитесь к системному администратору'; let errorCode = this.extractCode(errorDescription); if (errorCode) { - reason = EsiaErrorDetail.getDescription(errorCode); + errorMessage = EsiaErrorDetail.getDescription(errorCode); } - errorMessage = error + ', error description = ' + errorDescription; + let consoleError = error + ', error description = ' + errorDescription; + this.messageService.error(errorMessage); + console.error(consoleError); + } + else { + this.messageService.error(errorMessage); + console.error(reason); } - this.messageService.error(errorMessage); - console.error(reason); }); return false; }