HttpSessionStrategy проблема и выбрасывание несоответствия состояния, сохраненного в сеансе - PullRequest
0 голосов
/ 07 февраля 2019

Когда я включил HttpSessionStrategy в моем весеннем загрузочном приложении, каждый раз, когда я вызываю request.getSession (), дает мне новый идентификатор сеанса, но где, как будто я отключаю HttpSessionStrategy, мое приложение работает нормально.Но я хочу включить это из-за поддержки x-auth-token.Любая помощь приветствуется.

Application.java

@ SpringBootApplication

открытый класс AuthApp {

public static void main(String[] arguments) throws Throwable {

    SpringApplication.run(AuthApp.class, args);

}
@Bean
public HttpSessionStrategy httpSessionStrategy() {
    return new HeaderHttpSessionStrategy(); 
}

кодовый блок, где возникает несоответствие состоянияесли я отключаю httpsessionstrategy, мое приложение работает нормально, но мне нужна возможность x-auth-token

защищенная аутентификация handleAuthorizationCodeResponse (запрос HttpServletRequest, ответ HttpServletResponse) {

    String authorizationCode = request.getParameter("code");

    HttpSession session = request.getSession();
    // check for state, if it doesn't match we throw exception
    String storedState = getStoredState(session);
    String requestState = request.getParameter("state");
    if (storedState == null || !storedState.equals(requestState)) {
        throw new AuthenticationServiceException("State parameter mismatch on return. Expected " + storedState + " got " + requestState);
    }
...