Сохранять заголовки при междоменном перенаправлении - PullRequest
0 голосов
/ 23 января 2019

В настоящее время я настраиваю приложение JHipster для реализации единого выхода (с помощью Keycloak SSO), чтобы при отключении пользователя от одного приложения его сеансы в приложении и Keycloak аннулировались.

Из того, что я нашел там , перенаправление после выхода из приложения на страницу выхода из keycloak делает недействительным сеанс пользователя в SSO.

Это работает "вручную", если я нажимаю кнопку отключения моего приложения, а затем на другой вкладке я перехожу на страницу выхода из keycloak, я действительно вышел из системы, отлично!

Я пытался сделать то же самое в Spring Security с помощью настраиваемого LogoutSuccessHandler:

    public class ForwardLogoutWithRedirectSuccessHandler implements LogoutSuccessHandler {

            private String targetUrl;

            public ForwardLogoutWithRedirectSuccessHandler(String targetUrl) {
                    this.targetUrl = targetUrl;
            }

            @Override
            public void onLogoutSuccess(HttpServletRequest request, HttpServletResponse response, Authentication authentication)
        throws IOException, ServletException {

    if (!this.targetUrl.contains("redirect_uri"))
        this.targetUrl = this.targetUrl + "?redirect_uri=" + request.getHeader(HttpHeaders.ORIGIN);
    response.sendRedirect(this.targetUrl);
            }

        }

Проблема в том, что при перенаправлении файлы cookie целевого домена (ранее установленные при входе в систему) не отправляются в запросе. Таким образом, выход из ключа не работает.

Я уточняю, что все необходимые заголовки CORS были для заголовков, учетных данных, методов, ...

Это потому, что перенаправление должно выполняться на стороне клиента?

...