我目前正在使用keycloak 2.5.0开展一个小项目 我已经设置了用户登录信息,现在我正在尝试实施一个页面范围注销按钮。
作为documentation状态,简称为路线 http:// my-auth-server / auth / realms / master / protocol / openid-connect / logout?redirect_uri = http://application-root.com / 为了简单起见,我使用了一个锚标记来进行 GET 请求。
如果我查看firefox开发人员工具的“网络”选项卡,一切似乎都运行正常。我收到了重定向请求的 302 状态代码。之后,应用程序成功请求状态代码 200 的 http://application-root.com / ,并将我重定向到此页面。
但是当我想再次请求锁定的内容(由keycloak保护的内容)时,仍然可以访问。
但是,每当我在重定向后手动删除 JSESSIONID 和 KEYCLOAK_ADAPTER_STATE Cookie时,一切正常并且我正确地注销了。遗憾的是,无法以编程方式删除这些Cookie ,因为它们是HttpOnly
此请求的预期行为是什么?
我错过了什么吗?
有没有人经历过类似的事情?
感谢您的帮助
答案 0 :(得分:0)
我使用Keycloak 4.8.3版本实现了注销。强制参数是id令牌(id_token_hint)。可选参数是重定向URL(post_logout_redirect_uri)。 示例:
http:// my-auth-server / auth / realms / master / protocol / openid-connect / logout?id_token_hint = eyJhbGciOiJSUzI1NiIsInR5cCIgOiAiSldUIiwia2lkIiA6ICJEY0gyNnl0OFV_0_J2TG_Recent_Com _%_ E2_Com _%_ Ef_Cent _%_ Com _%_ E2_Cent _%_ Ef_Cent _%_ E2_Cent _%_ E2_Cent _%_ Ef_Cent _%_ Ef_Cent _%_ E2_Com _%_ Ef_Cent _%_ Ef_Cent _%_ E2_F1_E2_Com _%_ Ef_Cent _%_ Ef_Cent _%_ Ef_Cent _%_ E2_F1_E2_Com _%_ E2_F1_E2_E2_E2。