如何使用Keycloak Admin Java API验证旧密码?

时间:2018-01-12 18:22:16

标签: java spring security spring-boot keycloak

我有使用Keycloak 3.1.x的应用程序,该应用程序使用以下依赖项远程与Keycloak交互:

<dependency>
    <groupId>org.keycloak</groupId>
    <artifactId>keycloak-admin-client</artifactId>
    <version>3.4.1.Final</version>
</dependency>

应用程序正在使用Spring Boot,在Controller中我们得到两个参数:

  1. 旧密码
  2. 新密码
  3. 现在在后端我们必须验证旧密码是否与存储在Keycloak中的密码匹配,然后最终应用新密码。

    我知道端点/auth/admin/{realm}/account允许用户更改密码,但我需要在后端使用该功能。

    依赖项使用了RestClient,而我在https://issues.jboss.org/browse/KEYCLOAK-943中找到的,Keycloak不为account控制台提供REST API。

    有人知道是否可以从Keycloak Admin API验证旧密码?

    修改

    也许有办法获取用户的旧密码并尝试获取新令牌?如果失败,则表示旧密码错误。

1 个答案:

答案 0 :(得分:0)

没有api方法,但是你可以通过在realms/{realm}/protocol/openid-connect/token上获取令牌请求来验证密码