簡體   English   中英

Keycloak:在AngularJS應用程序中更新用戶密碼

[英]Keycloak: Update user password in AngularJS application

我正在構建一個受Keycloak保護的AngularJS應用程序。 每個用戶都應在其用戶配置文件中更新其密碼。

調用Keycloak API以獲得密碼

GET / auth / realms / {realm_name} /帳戶/密碼

從Keycloak返回HTML內容。 我想建立自己的表單來更新用戶密碼。

在Keycloak文檔中,我發現

POST / auth / realms / {realm_name} /帳戶/密碼

這需要屬性

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

調用

POST / auth / realms / {realm_name} /帳戶/密碼

如果沒有'stateChecker'屬性,則會導致錯誤。 此屬性是必需的。

所以這是我的問題:

  • 如何從已登錄用戶的stateChecker獲取stateChecker的值(在Keycloak中,它在隱藏的輸入字段中)?
  • 是否可以通過REST API調用更改用戶密碼?

提前致謝。

注意:

呼叫:

POST / auth / realms / {realm_name} /帳戶/密碼

具有硬編碼的屬性和值

{
    '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對rest端點進行了自己的實現。

正如Lisa所說,建立自己的主題也是一種解決方案。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM