Приложение Spring boot oauth не перенаправляет на login.html после успешного выхода - PullRequest
1 голос
/ 13 марта 2019

Я следовал инструкциям Spring Boot и OAuth2 и внес некоторые изменения в пользовательский интерфейс, как показано ниже.

Создан login.html с содержанием ниже

<!doctype html>
<html lang="en">
  <head>
     <meta charset="utf-8" />
     <meta http-equiv="X-UA-Compatible" content="IE=edge" />
     <title>Demo</title>
     <meta name="description" content="" />
     <meta name="viewport" content="width=device-width" />
     <link rel="stylesheet" type="text/css" href="/webjars/bootstrap/css/bootstrap.min.css" />
     <script type="text/javascript" src="/webjars/jquery/jquery.min.js"></script>
     <script type="text/javascript" src="/webjars/bootstrap/js/bootstrap.min.js"></script>
  </head>
  <body>
     <h1>Login</h1>
     <div class="container unauthenticated">
         <div class="container unauthenticated">
              With Google: <a href="/login">click here</a>
         </div>
     </div>
  </body>
</html>

И в index.html я удалил приведенный ниже фрагмент кода

<h1>Login</h1>
<div class="container unauthenticated">
    <div class="container unauthenticated">
        With Google: <a href="/login">click here</a>
    </div>
</div>

Я также предоставил Google clientId и clientSecret в application.yml .

И изменено в конфигурации , как показано ниже

@Override
protected void configure(HttpSecurity http) throws Exception {
    http.antMatcher("/**")
           .authorizeRequests()
        .antMatchers("/login**", "/webjars/**")
           .permitAll()
        .anyRequest()
           .authenticated()
        .and()
           .exceptionHandling()
           .authenticationEntryPoint(new LoginUrlAuthenticationEntryPoint("/login.html"))
        .and()
           .logout()
           .logoutSuccessUrl("/login.html")
           .permitAll()
        .and()
           .csrf() 
         .csrfTokenRepository(CookieCsrfTokenRepository.withHttpOnlyFalse());
}

Я могу правильно войти в систему и выйти из нее. Но после выхода из системы он не перенаправляется на login.html . Я вижу, что один запрос будет идти к login.html, но браузер не будет обновляться. Если я обновлю браузер вручную, он перейдет на страницу login.html.

Как я могу перенаправить на login.html после успешного выхода из приложения.

...