我需要遷移的用戶數據庫的定製應用到Keycloak。我創建了一個成功導入用戶的keycloak-add-user.json
文件。遷移的用戶密碼在原始系統中被散列,但是我已經實現了Keycloak密碼散列SPI服務類,該類使用現有的算法來驗證遷移用戶的散列值和鹽值。哈希SPI類實現Keycloak SPI中的PasswordHashProviderFactory
和PasswordHashProvider
,並基於`Pbkdf2PasswordHashProvider'。
public class MyPasswordHashProvider implements PasswordHashProviderFactory, PasswordHashProvider {
public static final String ID = "XXXX";
問題
當遷移的用戶嘗試與keycloak錯誤來驗證由org.keycloak.hash.PasswordHashManager
Could not find hash provider XXXX for password
記錄我的罐包含初始化文件META-INF/services/org.keycloak.models.PasswordHashProviderFactory
使用包含單個線HashProvider實現的完整類名。
my.folder.MyPasswordHashProvider
這是基於聯邦SPI doco,但Keycloak Password Hash SPI的文檔似乎不存在。我錯過了什麼,或者我需要做什麼來註冊和使用我的Hash Provider和Keycloak?