HTTP-сеанс Spring redis создает новый сеанс при перенаправлении из Azure входа в AD-Graph API - PullRequest
0 голосов
/ 19 июня 2020

Я использую Azure вход в AD-Graph API, во время входа приложение перенаправляет на Azure AD-Graph API для токена, а из Azure AD-Graph API оно снова перенаправляет в приложение, в этот раз оно создает новый сеанс вместо использования существующего, может ли кто-нибудь предоставить решение, как использовать существующий сеанс при перенаправлении с Azure AD-Graph API

@GetMapping(value = "/sso/login")
    public void loginSSO(final HttpServletRequest request) {
       request.getSession(); // Session X
}

@PostMapping(value = "/sso/redirect")
    public void redirectSSO(final HttpServletRequest request, final HttpServletResponse response) throws IOException {
        request.getSession(); // Session Y

        // Authenticate User from Azure AD, do some process(logging) and add Authentication object to SecurityContextHolderv
        response.sendRedirect(request.getContextPath() + "/"); // Redirected but have old session
}

@GetMapping(value = "/", produces = MediaType.TEXT_HTML_VALUE)
public ModelAndView index(final HttpServletRequest request) {
    request.getSession(false).getAttribute("userId"); // gets null
}

Примечание. Если мы отключим сеанс spring redis, он будет работать как ожидается

...