SUPPORT-8830 fix logout

This commit is contained in:
kochetkov 2024-12-27 12:52:39 +03:00
parent f77c95b1cd
commit 9c061148ca
2 changed files with 12 additions and 4 deletions

View file

@ -23,6 +23,9 @@ public class EsiaConfig {
@Value("${esia.redirect.url}")
private String redirectUrl;
@Value("${esia.logout.redirect.url}")
private String logoutRedirectUrl;
@Value("${sign.url}")
private String signUrl;
@ -86,4 +89,8 @@ public class EsiaConfig {
public String getEsiaTokenUrl() {
return esiaTokenUrl;
}
public String getLogoutRedirectUrl() {
return logoutRedirectUrl;
}
}

View file

@ -110,7 +110,7 @@ public class EsiaAuthService {
"redirect_uri", redirectUrlEncoded,
"client_certificate_hash", esiaConfig.getClientCertHash());
return makeRequest(url, params);
return buildUrl(url, params);
}
catch (Exception e) {
throw new RuntimeException(e);
@ -133,12 +133,13 @@ public class EsiaAuthService {
.replace("+", "%20");
}
private static String makeRequest(URL url, Map<String, String> params) {
private static String buildUrl(URL url, Map<String, String> params) {
StringBuilder uriBuilder = new StringBuilder(url.toString());
uriBuilder.append('?');
for (Map.Entry<String, String> node : params.entrySet()) {
uriBuilder.append(node.getKey()).append('=').append(node.getValue()).append("&");
}
uriBuilder.deleteCharAt(uriBuilder.length() - 1);
return uriBuilder.toString();
}
@ -331,12 +332,12 @@ public class EsiaAuthService {
EsiaTokensStore.removeAccessToken(userId);
EsiaTokensStore.removeRefreshToken(userId);
String logoutUrl = esiaConfig.getEsiaBaseUri() + esiaConfig.getEsiaLogoutUrl();
String redirectUrl = esiaConfig.getRedirectUrl();
String redirectUrl = esiaConfig.getLogoutRedirectUrl();
URL url = new URL(logoutUrl);
Map<String, String> params = mapOf(
"client_id", esiaConfig.getClientId(),
"redirect_url", redirectUrl);
return makeRequest(url, params);
return buildUrl(url, params);
}
catch (Exception e) {
throw new RuntimeException(e);