dgr*_*018 3 spring-security logout spring-boot openid-connect keycloak
我正在尝试使用 keycloak 和 openid 在我的 spring 启动应用程序中实现单次注销。
我已经使用 sprint boot 1.5.3 和 spring 安全适配器(此处的文档)设置了 keycloak 3.4.3 ,使用 tomcat 适配器(此处的文档)算法。一切正常,直到我尝试退出所有会话。
我试过了:
1) 在 keycloak 管理控制台 ui 上:注销所有会话结果:它确实清除了 keycloak 中的所有会话,但不清除客户端应用程序中的浏览器会话。所以我一直登录,直到我手动删除它们。
2)使用HttpServletRequest.logout()
和http://auth-server/auth/realms/{realm-name}/protocol/openid-connect/logout?redirect_uri=encodedRedirectUri
(此处的文档),仅从当前客户端注销,而不是作为 SLO
我不确定 OpenID 是否支持 SLO,我找不到任何关于它的可靠文档。
¿有没有办法使用 OpenID 和 Spring Boot 实现单点注销?
小智 6
您可以执行以下操作来注销
@GetMapping(path = "/logout")
public String logout(HttpServletRequest request) throws ServletException {
request.logout();
return "/";
}
Run Code Online (Sandbox Code Playgroud)
http
<a href="/logout">Logout</a>
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
6820 次 |
最近记录: |