我正在尝试将用户从旧的Drupal 6 CMS迁移到Keycloak。我想用他们的旧密码迁移用户,然后给他们的配置文件分配一个“更新密码”所需的操作。
然而,迁移密码似乎有问题,因为我只能以散列形式访问它们。
密码使用不使用salt的MD5算法进行散列。我尝试过根据以下页面迁移它们:https://lists.jboss.org/pipermail/keycloak-user/2015-December/004212.html
下面是我发送给Keycloak的JSON:
{
"hashedSaltedValue" : "password-hash",
"algorithm" : "restcomm-md5",
"type" : "password",
}这是我试过的事情清单
有没有人幸运地发现这个功能能起作用?
发布于 2020-07-08 13:32:19
下面的curl命令帮助我迁移一个旧的散列密码。用散列密码替换{hashedSaltedValue},用salt替换{salt}。
token="..."
curl 'http://keycloak-http/auth/admin/realms/testrealm/users/f:60f0ff50-2cc5-492d-8222-04ac0a9964e1:217b93e8-2830-4392-83e3-9feceea94575' \
-X PUT \
-H "Authorization: $token" \
-H "Content-Type: application/json" \
--data '{"credentials": [ { "algorithm": "pbkdf2-sha512", "hashedSaltedValue": "{hashedpassword}", "hashIterations": 30000, "type": "password", "salt":"{salt}"}]}'发布于 2020-09-08 19:40:25
参数hashedSaltedValue等被废弃,keycloak 10和更新版本将记录一个弃用警告。
这里定义了一个新的CredentialRepresentation,将JSON放入属性https://github.com/keycloak/keycloak/blob/04415d34eab5ed577c472802df4ca11fbafabc7e/server-spi/src/main/java/org/keycloak/models/credential/dto/PasswordSecretData.java#L10和https://github.com/keycloak/keycloak/blob/04415d34eab5ed577c472802df4ca11fbafabc7e/server-spi/src/main/java/org/keycloak/models/credential/dto/PasswordCredentialData.java#L6的字符串中。
发布于 2020-04-03 02:09:01
密钥披风重置-密码api是,你试图使用什么?使用“重置密码”api,我相信它只接受纯文本密码,这意味着,您不能重置-密码已经哈希密码值。
如果使用create,则可以将散列值添加为密码。
我正在使用Aerobase与Keycloak,并试图更新密码使用重置密码api,它不是使用哈希密码,它只工作与纯文本密码,然后存储哈希密码代替。
如果有人成功地用散列密码重置密码,请在这里留言!
https://stackoverflow.com/questions/57771277
复制相似问题