バックグラウンド
特注アプリのユーザー データベースを Keycloak に移行する必要があります。keycloak-add-user.json
ユーザーを正常にインポートするファイルを作成しました。移行されたユーザーのパスワードは元のシステムでハッシュされますが、既存のアルゴリズムを使用して移行されたユーザーのハッシュ値とソルト値を検証する Keycloak Password Hash SPI サービス クラスを実装しました。Hash SPI クラスは Keycloak SPI から実装されPasswordHashProviderFactory
、PasswordHashProvider
「Pbkdf2PasswordHashProvider」に基づいています。
public class MyPasswordHashProvider implements PasswordHashProviderFactory, PasswordHashProvider {
public static final String ID = "XXXX";
問題
移行されたユーザーがキークロークで認証しようとすると、エラーがログに記録されますorg.keycloak.hash.PasswordHashManager
Could not find hash provider XXXX for password
META-INF/services/org.keycloak.models.PasswordHashProviderFactory
私のjarには、HashProvider実装の完全なクラス名を含む1行 の初期化ファイルが含まれています。
my.folder.MyPasswordHashProvider
これはフェデレーション SPI doco に基づいていましたが、Keycloak パスワード ハッシュ SPI のドキュメントは存在しないようです。キークロークにハッシュ・プロバイダーを登録して使用するには、何が欠けていますか? または何をする必要がありますか?