Spring Boot + React | Новый сеанс создается для каждого запроса для одного и того же клиента через iframe - PullRequest
0 голосов
/ 20 января 2020

У меня есть бэкэнд Spring Boot и интерфейс React. Они работают в одном домене. Но внешний интерфейс URL используется через другой URL. Он там встроен (встроенное приложение).

При открытии приложения на другом сайте (после входа на другой сайт) оно отправляет hma c и некоторые поля, которые используются для генерации hma c, которые будут отправлены на мой бэкэнд.

fetch(window.urlJwt + parameters, {
            method: "GET",
            credentials: "include"
        }).then(response => response.text()).then(text => {
                if (text === "OK") {
                    //no problem
                } else {
                    //problem
                }
        });

Теперь это будет обрабатываться в бэкэнде следующим образом:

public void createJwt(HttpServletRequest request) {
    #some code
    request.getSession().setAttribute("token", jwtToken);
}

И после этого, когда веб-интерфейс пытается использовать службу API

fetch(url, {
            method: "GET",
            credentials: "include",
            headers: {
                "Content-Type": "application/json"
            }
        })
            .then(res => res.json())
            .then(json => {
                #stuff
            }).catch((error) => {
                console.log('Error: ' + error);
        });
    }

И затем проверка его в бэкэнде.

public String useServices(HttpSession session) {
        #somelogic
        String token = (String) session.getAttribute("token");
        THIS WILL BE NULL, BECAUSE DIFFERENT SESSION
        #somelogic
    }

Это свойства моего приложения

spring.session.store-type=jdbc
spring.session.jdbc.initialize-schema=always
spring.session.timeout.seconds=900

Когда я делаю ту же реализацию с простым JSP, он сохраняет тот же сеанс.

Что я делаю не так?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...