当前位置: 首页 > 知识库问答 >
问题:

如何在Spring Boot中获得KeyCloak的刷新令牌-Jhipster

耿星雨
2023-03-14

我已经用Jhipster创建了微服务(Spring Boot)应用程序(有网关微服务keybeat),还配置了keybeat。

一切正常,但我在注销应用程序中遇到了问题,当我从UI中点击注销API时,它只会从网关注销(不会破坏Keyclope会话)

注意:服务器没有在浏览器上保存任何cookie,除了JSESSIONID

我需要从KeyClope注销用户会话。为此,我浏览了以下链接

通过Keycloak REST API注销用户不起作用

https://www.keycloak.org/docs/3.3/securing_apps/topics/oidc/java/logout.html

根据上述链接,我需要向KeyCloak发出POST请求,该请求会破坏用户活动的Sessions.for,我调用以下API

POST http://localhost:8080/auth/realms/<my_realm>/protocol/openid-connect/logout

参考链接(链接@Manh Ha的答案)

我需要在请求体中添加访问令牌和刷新令牌,我从主体对象中找到了访问令牌,但我很难找到刷新令牌

问题:

1) 我在哪里找到了刷新令牌(在spring Boot中)?

共有1个答案

楮庆
2023-03-14

JHipster 5.8.0中增加了对OIDC注销的支持。您可以升级JHipster应用程序,或将此PR中的代码复制到您的代码中。

 类似资料:
  • 下面的代码使用Google oauth2机制登录用户。我们需要在用户离线时处理用户日历的更新,所以我们最终需要“刷新令牌”。grantOfflineAccess()的结果是否返回刷新令牌(在下面,我可以看到response.code包含一个可能是刷新令牌的值)? 我如何获得一个刷新令牌,可以用来(服务器端)创建新的访问键,以便离线访问用户的谷歌日历?

  • 我正在使用Keycloak与Google作为身份提供商。我需要谷歌的刷新令牌来管理用户的日历。以下是我的Keycloak Google IDP设置: 登录后,我根据https://www . key cloak . org/docs/latest/server _ development/index . html # retrieving-external-IDP-tokens获取刷新令牌。看起来

  • 我想使用谷歌作为OIDC协议的id提供商。我有一个简单的应用程序。它启动,正确地重定向到谷歌,然后返回到应用程序,打印用户详细信息并将其存储在会话中。但是,这种身份验证似乎来自id令牌,并且只有1h的过期时间 我的YML:

  • 我目前正在使用多个Quarkus服务和Keycloak RBAC开发一个PoC。工作起来就像一个魅力,很容易引导和开始实现功能。 但我遇到了一个我无法解决的问题。想象一下: null 使JWT的持续时间超过当前的30分钟,但这只是推迟了问题并打开了一些安全门 将用户的输入存储在本地存储器中,以便在令牌刷新后进行恢复(我们也会这样做,以避免浪费用户的工作) 在JS中“静默”刷新令牌,而不让用户知道。

  • 如何使用java SDK获得Microsoft图形刷新令牌?我用的是java SDK的图形,得到了访问令牌。如何使用此AccesStoken在java SDK中获得刷新令牌?