SUPPORT-8593: Fix

This commit is contained in:
Eduard Tihomirov 2024-11-27 12:16:40 +03:00
parent 85124d60ff
commit fd6507217b
2 changed files with 15 additions and 12 deletions

View file

@ -38,8 +38,10 @@ public class EsiaController {
return esiaAuthService.generateAuthCodeUrl(); return esiaAuthService.generateAuthCodeUrl();
} }
@GetMapping(value = "/esia/auth", params = "code") @GetMapping(value = "/esia/auth")
public ResponseEntity<?> esiaAuth(@RequestParam("code") String code, @RequestParam("error") String error, HttpServletRequest request, HttpServletResponse response) { public ResponseEntity<?> esiaAuth(@RequestParam(value = "code", required = false) String code,
@RequestParam(value = "error", required = false) String error, HttpServletRequest request,
HttpServletResponse response) {
return esiaAuthService.getEsiaTokensByCode(code, error, request, response); return esiaAuthService.getEsiaTokensByCode(code, error, request, response);
} }

View file

@ -436,16 +436,17 @@ public ResponseEntity<?> getEsiaTokensByCode(String esiaAuthCode, String error,
if (!esiaAccessToken.getIss().equals(esiaConfig.getEsiaIssuerUrl())) { if (!esiaAccessToken.getIss().equals(esiaConfig.getEsiaIssuerUrl())) {
return "Token invalid. Token issuer:" + esiaAccessToken.getIss() + " invalid"; return "Token invalid. Token issuer:" + esiaAccessToken.getIss() + " invalid";
} }
LocalDateTime iatTime = LocalDateTime.ofInstant(Instant.ofEpochSecond(esiaAccessToken.getIat()), //TODO SUPPORT-8750
ZoneId.systemDefault() // LocalDateTime iatTime = LocalDateTime.ofInstant(Instant.ofEpochSecond(esiaAccessToken.getIat()),
); // ZoneId.systemDefault()
LocalDateTime expTime = LocalDateTime.ofInstant(Instant.ofEpochSecond(esiaAccessToken.getExp()), // );
ZoneId.systemDefault() // LocalDateTime expTime = LocalDateTime.ofInstant(Instant.ofEpochSecond(esiaAccessToken.getExp()),
); // ZoneId.systemDefault()
LocalDateTime currentTime = LocalDateTime.now(); // );
if (!currentTime.isAfter(iatTime) || !expTime.isAfter(iatTime)) { // LocalDateTime currentTime = LocalDateTime.now();
return "Token invalid. Token expired"; // if (!currentTime.isAfter(iatTime) || !expTime.isAfter(iatTime)) {
} // return "Token invalid. Token expired";
// }
HttpResponse<String> response = signVerify(accessToken); HttpResponse<String> response = signVerify(accessToken);
if (response.statusCode() != 200) { if (response.statusCode() != 200) {
if (response.statusCode() == 401) { if (response.statusCode() == 401) {