背景SPI
私は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";
問題
移行されたユーザーは、keycloakエラーが私のjarファイルを含む単一の行で初期化ファイルMETA-INF/services/org.keycloak.models.PasswordHashProviderFactory
が含まれているorg.keycloak.hash.PasswordHashManager
Could not find hash provider XXXX for password
によってログに記録されるで認証しようとするとHashProvider実装の完全なクラス名。
my.folder.MyPasswordHashProvider
これは、連盟のSPI DOCOに基づいていますが、KeycloakパスワードハッシュSPIのドキュメントが存在しないように思われました。何が欠けているのですか、またはKeycloakでハッシュプロバイダを登録して使用するために何をする必要がありますか?