我正在构建一个受Keycloak保护的AngularJS应用程序。每个用户都应在其用户配置文件中更新其密码。
调用Keycloak API获取密码
GET/auth/领域/{realm_name}/帐户/密码
从Keyclock返回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”属性会导致错误。需要此属性。
以下是我的问题:
提前感谢。
注意:
呼叫:
POST /auth/realms/{realm_name}/account/password
具有硬编码的属性和值
{
'password': 'somepasswd',
'password-new': 'someNEWpasswd',
'password-confirm': 'someNEWpasswd',
'stateChecker': '<token copied and pasted from keycloak>',
}
正在工作!
我的建议是覆盖keycloak主题(检查这个: http://docs.jboss.org/keycloak/docs/1.2.0.Beta1/userguide/html/themes.html)。
您可以扩展和修改现有表单,使其看起来像应用程序的其余部分。
最后,我用keycloaks admin rest api实现了自己的restendpoint。
正如Lisa所说,建立一个自己的主题也可以是一个解决方案。