Swagger-ui Spring 安全和 OAuth2 项目注销按钮不清除会话 cookie

Swagger-ui Spring Security and OAuth2 project Logout button doesn't clean Session cookies

我正在为微服务工作(休息 API),使用 Spring 启动、安全和 OAuth2 项目以及 swagger 2。

虽然它是一个 Rest 服务项目,但它会在用户登录和注销后创建一个会话 cookie,cookie 应该被删除,并且当任何用户尝试访问 APIs 时需要再次放置访问令牌,但是cookie 保持不变。

所以相同的用户可以在刷新后无需登录再次访问API。

解法:

http
   .sessionManagement().sessionCreationPolicy(SessionCreationPolicy.STATELESS)

在 WebSecurityConfigurerAdapter bean 上添加这一行它对我有用。

对于 MVC:

.and()
.logout().clearAuthentication(true)
.logoutSuccessUrl("/")
.deleteCookies("JSESSIONID","remember-me")
.invalidateHttpSession(true)
.and()