簡體   English   中英

Keycloak 獲取用戶密碼

[英]Keycloak get user password

在我的項目中,我需要從 Rest API 獲取當前用戶密碼。

我搜索了 keycloak 4.8.3 最終文檔,但找不到。 使用管理員用戶,我可以在不知道當前密碼的情況下更改密碼。 但我的登錄用戶可以是管理員也可以不是。 我發現由於安全原因,keycloak 不允許我這樣做。 總結有沒有辦法激活該設置,或者有沒有辦法用 Rest API 獲取密碼? 謝謝你。

通過Rest API,由於明顯原因無法獲取密碼。 理想情況下,在一個安全的環境中,即使是管理員也不應該訪問用戶的密碼。

從您寫的評論中:

我可以使用像 boolean isPasswordCorrect(username,password) 這樣的方法

一種方法是在您的 Realm 上創建一個客戶端,如下所示:

  • Go 到您的 Realm;
  • 客戶;
  • 創建客戶端;
  • Access Type設置為公共;
  • Direct Access Grants Enabled設置為開;
  • 節省;

現在代表您要檢查密碼是否正確的用戶從新創建的客戶端請求一個令牌:

在此處輸入圖像描述

如您所見,端點是:

<KEYCLOAK_HOST>/auth/realms/<REALM_NAME/protocol/openid-connect/token

身體是:

client_id : <The client ID of the newly create client>
username : <The username>
password : <The password to be tested>
grant_type : password

如果密碼正確你會得到一個token object,否則你會得到如下響應:

{
    "error": "invalid_grant",
    "error_description": "Invalid user credentials"
}

暫無
暫無

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

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