【问题标题】:Keycloak: Update user password in AngularJS applicationKeycloak:在 AngularJS 应用程序中更新用户密码
【发布时间】:2015-10-01 18:12:14
【问题描述】:

我正在构建一个受 Keycloak 保护的 AngularJS 应用程序。 每个用户都应在其用户配置文件中更新其密码。

调用 Keycloak API 获取密码

GET /auth/realms/{realm_name}/account/password

从 Keycloak 返回 HTML 内容。 我想构建自己的表单来更新用户的密码。

在我找到的 Keycloak 文档中

POST /auth/realms/{realm_name}/account/password

需要属性

{
    'password' => user's current password
    'password-new' => new password
    'password-confirm' => new password again
    'stateChecker' => token from keycloak
}

打电话

POST /auth/realms/{realm_name}/account/password

没有 'stateChecker' 属性会导致错误。该属性是必需的。

所以这是我的问题:

  • 如何从登录用户的 keycloak 中获取 stateChecker 的值(在 Keycloak 中它位于隐藏的输入字段中)?
  • 还有其他方法可以通过 REST API 调用更改用户密码吗?

提前致谢。

注意:

调用:

POST /auth/realms/{realm_name}/account/password

具有硬编码的属性和值

{
    'password': 'somepasswd',
    'password-new': 'someNEWpasswd',
    'password-confirm': 'someNEWpasswd',
    'stateChecker': '<token copied and pasted from keycloak>',
}

正在工作!

【问题讨论】:

  • 你用的是什么版本的keycloak?

标签: angularjs rest authentication change-password keycloak


【解决方案1】:

我的建议是覆盖 keycloak 主题(查看:http://docs.jboss.org/keycloak/docs/1.2.0.Beta1/userguide/html/themes.html)。

您可以扩展和修改现有表单,使其看起来像您的应用程序的其余部分。

【讨论】:

    【解决方案2】:

    最后,我使用 keycloaks admin rest api 自己实现了一个 rest 端点。

    正如 Lisa 所说,构建自己的主题也是一种解决方案。

    【讨论】:

    • 听起来是一种合理的方法。很高兴听到它正在工作。
    猜你喜欢
    • 2023-01-05
    • 2021-12-09
    • 1970-01-01
    • 2020-01-25
    • 1970-01-01
    • 2020-08-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多