HintergrundWie Keycloak Passwort-Hash-Service Provider SPI
Ich brauche eine Benutzerdatenbank für eine maßgeschneiderte App in Keycloak registrieren zu migrieren. Ich habe eine keycloak-add-user.json
Datei erstellt, die die Benutzer erfolgreich importiert. Kennwörter für migrierte Benutzer werden im Originalsystem gehashed. Ich habe jedoch eine Keycloak Password Hash-SPI-Serviceklasse implementiert, die den vorhandenen Algorithmus zur Überprüfung des Hash- und Salt-Werts eines migrierten Benutzers verwendet. Die Hash-SPI-Klasse implementiert PasswordHashProviderFactory
und PasswordHashProvider
aus dem Keycloak SPI und basiert auf `Pbkdf2PasswordHashProvider '.
public class MyPasswordHashProvider implements PasswordHashProviderFactory, PasswordHashProvider {
public static final String ID = "XXXX";
Die Ausgabe
Wenn ein migrierten Benutzer mit keycloak einem Fehler zu authentifizieren versucht wird durch org.keycloak.hash.PasswordHashManager
Could not find hash provider XXXX for password
angemeldet Mein Glas enthält eine Initialisierungsdatei META-INF/services/org.keycloak.models.PasswordHashProviderFactory
mit einer einzigen Zeile mit dem Vollständiger Klassenname der HashProvider-Implementierung.
my.folder.MyPasswordHashProvider
Dies wurde auf der Federation SPI doco basiert, aber Dokumentation für die Keycloak Passwort-Hash SPI scheint nicht vorhanden zu sein. Was fehlt mir oder was muss ich tun, um meinen Hash Provider mit Keycloak zu registrieren und zu nutzen?