Keycloak MFA

Keycloak Multi-Faktor-Authentifizierung mit OTP, WebAuthn und bedingter MFA

Jeder Keycloak-Realm kann bei der Anmeldung einen zweiten Faktor verlangen. Diese Seite zeigt, wo jeder Faktor in der Admin-Konsole liegt, welche Realm-Einstellungen dahinterstehen und wie Sie ihn nur dort verlangen, wo er zählt.

21 Tage testen, keine Karte erforderlich.  ·  Runs on managed Keycloak.

TOTP und HOTPWebAuthn und Passkeys Bedingte und Step-up-MFA

Unterstützt Keycloak Multi-Faktor-Authentifizierung?

Ja. Keycloak unterstützt MFA ab Werk mit zwei Arten von zweitem Faktor: OTP-Codes aus TOTP- und HOTP-Authenticator-Apps sowie WebAuthn-Sicherheitsschlüssel und Passkeys. Jeder Faktor ist ein Schritt im Authentifizierungsablauf des Realms, Sie entscheiden also, wo er greift. Bedingte Teilabläufe verlangen den zweiten Faktor nur von bestimmten Benutzern, Rollen oder Clients, und Step-up-Authentifizierung verlangt ihn vor einer sensiblen Aktion erneut.

SLA bis zu 99,99 %SOC 2 Type IIISO 27001DSGVO-konformWeltweite Datenhaltung
Vertraut von Engineering-Teams bei
DigiCertGoogleRedsenseRovaRhoImpactiSolvedAmazonArcstone

OTP mit Authenticator-Apps

Der OTP-Faktor von Keycloak akzeptiert zeitbasierte (TOTP) und zählerbasierte (HOTP) Codes aus Apps wie Google Authenticator, Microsoft Authenticator und FreeOTP. Das Codeformat legen Sie für den ganzen Realm unter Authentication, dann Policies, dann OTP Policy fest: den Typ, den Hash-Algorithmus, sechs oder acht Ziffern, die Periode und das Look-ahead-Fenster. Die Standardwerte, TOTP mit SHA1, sechs Ziffern und eine Periode von 30 Sekunden, funktionieren mit jeder gängigen App.

Benutzer registrieren eine App über die Aktion Configure OTP unter Authentication, dann Required actions, und wenn Sie dort den Schalter Set as default action einschalten, wird jeder neue Benutzer bei seiner nächsten Anmeldung dazu aufgefordert. Im Standard-Browser-Ablauf unter Authentication, dann Flows, liegt das OTP Form im Teilablauf Browser - Conditional 2FA, der von jedem Benutzer mit registrierter App einen Code verlangt.

realm.json: OTP-Richtlinie (Standardwerte)JSON
{
  "otpPolicyType": "totp",
  "otpPolicyAlgorithm": "HmacSHA1",
  "otpPolicyDigits": 6,
  "otpPolicyPeriod": 30,
  "otpPolicyLookAheadWindow": 1,
  "otpPolicyCodeReusable": false
}

WebAuthn-Sicherheitsschlüssel und Passkeys

Mit WebAuthn bestätigt ein Benutzer eine Anmeldung mit einem Sicherheitsschlüssel oder mit einem Passkey auf seinem Telefon, Laptop oder in seinem Passwortmanager, und Keycloak nutzt es auf zwei Arten. Als zweiter Faktor gibt der Benutzer ein Passwort ein und bestätigt dann mit dem Schlüssel: Aktivieren Sie Webauthn Register unter Authentication, dann Required actions, und setzen Sie WebAuthn Authenticator im Teilablauf Browser - Conditional 2FA unter Authentication, dann Flows, auf Alternative. Die Einstellungen dazu liegen unter Authentication, dann Policies, dann Webauthn Policy.

Für eine Passkey-Anmeldung ohne Passwort schalten Sie Enable Passkeys unter Realm settings, dann Login, ein und aktivieren Webauthn Register Passwordless unter Required actions. Seit Keycloak 26.4 bietet das Standard-Anmeldeformular dann Passkeys über das Autofill des Browsers und eine Schaltfläche Sign in with Passkey an, mit den Einstellungen unter Authentication, dann Policies, dann Webauthn Passwordless Policy.

realm.json: Passkey-RichtlinieJSON
{
  "webAuthnPolicyPasswordlessRpEntityName": "Example",
  "webAuthnPolicyPasswordlessSignatureAlgorithms": ["ES256", "RS256"],
  "webAuthnPolicyPasswordlessUserVerificationRequirement": "required",
  "webAuthnPolicyPasswordlessPasskeysEnabled": true
}

Bedingte und Step-up-MFA

Ein bedingter Teilablauf führt seinen zweiten Faktor nur aus, wenn die Bedingungen an seinem Anfang zutreffen. Duplizieren Sie unter Authentication, dann Flows, den Browser-Ablauf, fügen Sie einen Teilablauf mit der Einstellung Conditional hinzu und beginnen Sie ihn mit einer Bedingung: Condition - user role, um nur Administratoren zu fragen, Condition - client scope, um nur in Clients mit einem bestimmten Client Scope zu fragen, oder Condition - user attribute für eine Gruppe von Benutzern. Das OTP Form oder der WebAuthn Authenticator nach der Bedingung wird dann nur von den Benutzern verlangt, auf die sie zutrifft. Binden Sie die Kopie als Browser-Ablauf des Realms, oder überschreiben Sie ihn für einen Client im Tab Advanced dieses Clients.

Step-up-Authentifizierung verlangt vor einer sensiblen Aktion einen stärkeren Faktor. Ordnen Sie unter Realm settings, dann General, ACR-Werte Authentifizierungsstufen zu, geben Sie jeder Stufe einen Teilablauf, der mit Condition - Level of Authentication beginnt, und lassen Sie Ihre Anwendung die benötigte Stufe mit dem Parameter acr_values anfordern. Ein Benutzer, der sich nur mit dem Passwort angemeldet hat, wird erst dann nach dem zweiten Faktor gefragt, wenn er die Aktion erreicht, die ihn erfordert.

realm.json: Einstellungen der BedingungenJSON
"authenticatorConfig": [
  {
    "alias": "admins-only",
    "config": { "condUserRole": "admin", "negate": "false" }
  },
  {
    "alias": "step-up-level-2",
    "config": { "loa-condition-level": "2", "loa-max-age": "300" }
  }
]
Funktionen

Enterprise-Funktionen

Alles, was Sie für eine sichere, skalierbare Authentifizierung brauchen

TOTP- und HOTP-Codes

Codes aus Google Authenticator, Microsoft Authenticator, FreeOTP und anderen Standard-Authenticator-Apps.

Sicherheitsschlüssel

WebAuthn-Hardwareschlüssel als zweiter Faktor nach dem Passwort.

Passkeys

Anmeldung mit einem Passkey ohne Passwort, die das Standard-Anmeldeformular seit Keycloak 26.4 anbietet.

Bedingtes MFA

Ein zweiter Faktor nur für die Rollen, Clients oder Benutzer, die Sie auswählen.

Step-up-Authentifizierung

Ein stärkerer Faktor vor einer sensiblen Aktion, angefordert mit ACR-Werten.

Wiederherstellungscodes

Einmal verwendbare Backup-Codes für Benutzer, die ihren Authenticator verlieren.

In 3 Schritten live

Von null in Produktion in Minuten, nicht in Monaten

1

Ihre Instanz erstellen

Registrieren Sie sich und deployen Sie Ihre Keycloak-Instanz. Ein Klick, vollständig verwaltet.

2 Minuten
2

Ihr Branding anpassen

Fügen Sie Ihr Logo, Ihre Farben und Ihr Styling hinzu, damit die Login-Seiten zu Ihrer Marke passen.

5 Minuten
3

Integrieren Sie Ihre App

Verwenden Sie vorhandene Keycloak-SDKs oder Standard-OIDC/SAML-Bibliotheken für jedes Framework.

15 Minuten
Kostenlos testen

Keine Kreditkarte nötig. 21 Tage kostenlos testen mit vollem Zugriff.

FAQ

Häufig gestellte Fragen

Unterstützt Keycloak SMS für MFA?
Keycloak hat keinen nativen SMS-OTP-Faktor. Die integrierten zweiten Faktoren sind Einmalcodes aus Authenticator-Apps (TOTP und HOTP) sowie WebAuthn-Sicherheitsschlüssel und Passkeys; SMS-Codes würden eine Erweiterung eines Drittanbieters und einen SMS-Anbieter erfordern. Da SMS-Codes per SIM-Swapping und Phishing gestohlen werden können, empfehlen wir stattdessen Authenticator-Apps und Passkeys.
Kann ich MFA nur für Administratoren verlangen?
Ja. Fügen Sie im Browser-Flow des Realms einen bedingten Sub-Flow hinzu, der mit dem Schritt „Condition - user role“ für Ihre Administratorrolle beginnt, gefolgt vom OTP Form oder dem WebAuthn Authenticator. Benutzer mit dieser Rolle werden nach einem zweiten Faktor gefragt, alle anderen melden sich nur mit ihrem Passwort an.
Sollte ich Passkeys oder OTP verwenden?
Passkeys sind resistent gegen Phishing, weil der Browser einen Passkey nur der Website anbietet, für die er registriert wurde, während ein sechsstelliger OTP-Code auch auf einer gefälschten Anmeldeseite eingegeben werden kann. OTP funktioniert mit jeder Authenticator-App und ist ein solider zweiter Faktor, wo Passkeys noch nicht verfügbar sind. Keycloak unterstützt beides, daher bieten viele Teams zuerst Passkeys an und behalten OTP als Ausweichlösung.

Bereit loszulegen?

Starten Sie heute Ihre kostenlose Testphase. Voller Zugriff auf alle Funktionen für 21 Tage.

Keine Kreditkarte nötig21 Tage kostenlos testenZugriff auf alle FunktionenJederzeit kündbar
© 2026 Skycloak. Alle Rechte vorbehalten. Design von Yasser SolimanKeycloak™ is a trademark of the Linux Foundation. Skycloak is not affiliated with the Keycloak project.