[英]Failing to create user with password via Keycloak Rest API
我正在嘗試從現有數據庫遷移用戶。 密碼使用 sha512 加密。 我將 Keycloak 10 與 REST API 一起使用。
我已閱讀CredentialRepresentation並嘗試將 JSON 放入屬性secretData和credentialData的字符串中。
我的帖子用戶(具有正確的授權)返回“錯誤”:“未知錯誤”。
POST <someDomain>/auth/admin/realms/assure/users
{
"firstName": "test_encrypte",
"lastName":"test_encrypte",
"email":"jeremy.rafflin@mail.fr",
"credentials": [{
"type":"password",
"credentialData" : "{\"value\":\"fdVjg7Ed/dck1eSGobCHG4JtObyE3BNE3xZhCuuJ0PpmGB4d/OO+t0C5PwYhtOnUV++X2Jh0xmNdNu+sTkt4Bw==\",\"salt\":\"98cj35ZuYZR7S6N.MvZ2lA/UYfWAztXfF.nm/hFIQso\"}",
"secretData": "{\"algorithm\":\"sha512\",\"hashIterations\":1}"
}],
"username":"encrypt",
"emailVerified": false,
"enabled": true,
"attributes": {"assureId":"10406440"}
}
我獨立使用keycloak。
您的 JSON 有一些問題,首先不是:
"secretData": "{\"algorithm\":\"sha512\",\"hashIterations\":1}"
這是:
"credentialData": "{\"algorithm\":\"sha512\",\"hashIterations\":1}"
你可以查看Keycloak 開源倉庫。
而不是
"credentialData" : "{\"value\":\"fdVjg7Ed/dck1eSGobCHG4JtObyE3BNE3xZhCuuJ0PpmGB4d/OO+t0C5PwYhtOnUV++X2Jh0xmNdNu+sTkt4Bw==\",\"salt\":\"98cj35ZuYZR7S6N.MvZ2lA/UYfWAztXfF.nm/hFIQso\"}",
實際上是:
"secretData" : "{\"value\":\"fdVjg7Ed/dck1eSGobCHG4JtObyE3BNE3xZhCuuJ0PpmGB4d/OO+t0C5PwYhtOnUV++X2Jh0xmNdNu+sTkt4Bw==\",\"salt\":\"98cj35ZuYZR7S6N.MvZ2lA/UYfWAztXfF.nm/hFIQso\"}",
你可以查看Keycloak 開源倉庫。
最后,salt 值必須是 base 64 編碼的,而不是
98cj35ZuYZR7S6N.MvZ2lA/UYfWAztXfF.nm/hFIQso\
它一定要是:
OThjajM1WnVZWlI3UzZOLk12WjJsQS9VWWZXQXp0WGZGLm5tL2hGSVFzbw==
您要找的Json是:
{
"firstName": "test_encrypte",
"lastName": "test_encrypte",
"email": "jeremy.rafflin@ageo.fr",
"credentials": [
{
"type": "password",
"secretData": "{\"value\":\"fdVjg7Ed/dck1eSGobCHG4JtObyE3BNE3xZhCuuJ0PpmGB4d/OO+t0C5PwYhtOnUV++X2Jh0xmNdNu+sTkt4Bw==\",\"salt\":\"OThjajM1WnVZWlI3UzZOLk12WjJsQS9VWWZXQXp0WGZGLm5tL2hGSVFzbw==\"}",
"credentialData": "{\"algorithm\":\"sha512\",\"hashIterations\":1}"
}
],
"username": "encrypt",
"emailVerified": false,
"enabled": true,
"attributes": {
"assureId": "10406440"
}
}
有關信息,我發現了問題:這兩行不相同:
credentialData": "{\"algorithm\":\"sha512\",\"hashIterations\":1}"
"credentialData": "{\"algorithm\":\"sha512\",\"hashIterations\":1}"
如果我將它們與字符代碼查找器進行比較,十進制代碼是不同的。 例如我的}代碼是“125、8203、8203、8203、8203、8203、8203、8203”,你的是“125”。
PS:對不起我的英語,我是法國人。
@dreamcrash:非常感謝您的寶貴時間
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.