Beschreibung
Das Plugin Two Factor fügt deiner WordPress-Anmeldung eine zusätzliche Sicherheitsschicht hinzu, indem es vom Benutzer zusätzlich zum Passwort eine weitere Form der Authentifizierung verlangt. Das schützt vor unberechtigten Zugriffen sogar dann, wenn Passwörter kompromittiert wurden.
Einrichtungs-Anleitungen
Wichtig: Jeder Benutzer muss seine Zwei-Faktor-Authentifizierungs-Einstellungen individuell konfigurieren.
Für individuelle Benutzer
- Zu deinem Profil navigieren: Gehe im WordPress-Admin zu „Benutzer“ „Profil“
- Two-Factor-Optionen finden: Scrolle runter bis zum Abschnitt „Two-Factor-Optionen“
- Wähle deine Methoden: Aktiviere einen oder mehrere Authentifizierungs-Anbieter (beachte, dass ein Website-Administrator möglicherweise einen oder mehrere Anbieter ausgeblendet hat, sodass die verfügbaren Anbieter variieren können):
- Authenticator App (TOTP) – Nutze Apps wie Google Authenticator, Authy oder 1Password
- E-Mail-Codes – Erhalte Einmal-Codes via E-Mail
- Backup-Codes – Erzeuge Einmal-Backup-Codes für Notfälle
- Dummy-Methode – nur zu Testzwecken (erfordert WP_DEBUG)
- Jede Methode konfigurieren: Folge den Einrichtungs-Anleitungen für jeden aktivierten Anbieter
- Primäre Methode wählen: Wähle, welche Methode du als Standard-Authentifizierung verwenden möchtest
- Änderungen speichern: Klicke auf „Profil aktualisieren“, um deine Einstellungen zu speichern
Für Website-Administratoren
- Plugin-Einstellungen: Das Plugin bietet unter „Einstellungen Zwei-Faktor-Authentifizierung“ eine Einstellungsseite, auf der du festlegen kannst, welche Anbieter websiteweit deaktiviert werden sollen.
- Benutzerverwaltung: Administratoren können 2FA für andere Benutzer konfigurieren, indem die deren Profile bearbeiten
- Sicherheits-Empfehlungen: Benutzer sollten Backup-Methoden einrichten, damit sie nicht aus ihrem Konto ausgesperrt werden
Verfügbare Authentifizierungs-Methoden
Authenticator-App (TOTP) – empfohlen
- Sicherheit: Hoch – Zeitbasierte Einmalpasswörter
- Einrichtung: QR-Code mit Authenticator-App scannen
- Kompatibilität: Funktioniert mit Google Authenticator, Authy, 1Password und anderen TOTP-Apps
- Am besten für: die meisten Benutzer, bietet exzellente Sicherheit und gute Benutzerfreundlichkeit
Backup-Codes – empfohlen
- Sicherheit: Mittel – Codes einmal nutzbar
- Einrichtung: 10 Backup-Codes für den Notfall-Zugriff erzeugen
- Kompatibilität: Funktioniert überall, keine spezielle Hardware erforderlich
- Am besten für: Notfall-Zugriff, wenn andere Verfahren nicht verfügbar sind
E-Mail-Codes
- Sicherheit: Mittel – Einmal-Codes werden via E-Mail verschickt
- Einrichtung: Automatisch – verwendet deine WordPress-E-Mail-Adresse
- Kompatibilität: Funktioniert mit jedem E-Mail-fähigen Gerät
- Am besten für: Benutzer, die E-Mail-basierte Authentifizierung bevorzugen
FIDO-U2F-Sicherheitsschlüssel
- Veraltet und aufgrund fehlender Browser-Unterstützung entfernt.
Dummy-Methode
- Sicherheit: Keine – immer erfolgreich
- Einrichtung: nur verfügbar, wenn WP_DEBUG aktiviert ist
- Zweck: nur Testen und Entwicklung
- Am besten für: Entwickler, die das Plugin testen
Wichtige Hinweise
HTTPS-Anforderung
- Alle Methoden funktionieren sowohl auf HTTP- als auch auf HTTPS-Websites
Browser-Kompatibilität
- TOTP und E-Mail-Methoden funktionieren mit allen Geräten und Browsern
Kontowiederherstellung
- Aktiviere immer Backup-Codes, damit du nicht aus deinem Konto ausgesperrt wirst
- Wenn du Zugriff auf alle Authentifizierungs-Methoden verlierst, wende dich an den Administrator deiner Website
Bewährte Sicherheitspraktiken
- Verwende möglichst mehrere Authentifizierungs-Methoden
- Verwahre Backup-Codes an einem sicheren Ort
- Prüfe und aktualisiere deine Authentifizierungseinstellungen regelmäßig
Für weitere Information zur Zwei-Faktor-Authentifizierung schau dir den WordPress Advanced Administration Security Guide an.
Weitergehende Informationen finden sich in diesem Beitrag.
Actions und Filter
Nachfolgend findet sich hier eine Auflistung von Action- und Filter-Hooks, die das Plugin anbietet:
- Der
two_factor_providers-Filter hat Vorrang gegenüber anderen vorhandenen Zwei-Faktor-Authentifizierungs-Methoden wie E-Mail und zeitbasierten Einmal-Passwörtern. Array-Werte können PHP-Klassennamen der jeweiligen Zwei-Faktor-Methoden sein. - Der Filter
two_factor_providers_for_usersetzt die verfügbaren Zwei-Faktor-Anbieter für einen bestimmten Benutzer zurück. Array-Werte sind Instanzen von Anbieterklassen und das BenutzerobjektWP_Userist als zweites Argument verfügbar. - Der
two_factor_enabled_providers_for_user-Filter überschreibt die Authentifizierungsmethoden, die für einen Benutzer aktiviert sind. Das erste Argument ist ein Array der Klassennamen erlaubter Authentifizierungsmethoden, während das zweite Argument die Nutzer-ID ist. two_factor_is_required_for_userfilter controls whether two-factor authentication is required for a user. Returnfalseto bypass the two-factor flow (e.g. for trusted IP addresses). First argument is a boolean (whether the user has a primary provider configured), the second argument is theWP_Userobject.two_factor_fallback_provider_for_userfilter overrides the provider forced on when none of a user’s stored two-factor providers are still registered (e.g. after a provider plugin is deactivated). Defaults toTwo_Factor_Email. First argument is the provider classname, the second is the user ID, the third is the array of provider classnames that were stored for the user but are no longer registered. The returned provider must be registered and available to the user (is_available_for_user()), or the user is shown an error instead of being let through with a fallback.- Die
two_factor_user_authenticated-Aktion empfängt das eingeloggteWP_User-Objekt als erstes Argument, um den angemeldeten Benutzer direkt nach dem Authentifizierung-Workflow zu ermitteln. - Der Filter
two_factor_user_api_login_enablebeschränkt die Authentifizierung für REST-API und XML-RPC nur auf Anwendungskennwörter. Gibt die Benutzer-ID als zweites Argument an. - Der Filter
two_factor_token_ttlüberschreibt die Zeitangabe in Sekunden, in der ein E-Mai-Token nach Erzeugung gültig ist. Akzeptiert die Zeit (in Sekunden) und die ID desWP_User-Objekts, das authentifiziert wird. - Der Filter
two_factor_email_token_lengthüberschreibt die 8-Zeichen-Vorgabe für E-Mail-Tokens. - Der Filter
two_factor_backup_code_lengthüberschreibt die 8-Zeichen-Vorgabe für Backup-Codes. Liefert denWP_Userdes verknüpften Benutzers als zweites Argument. - Der Filter
two_factor_rest_api_can_edit_userüberschreibt, ob sich die Zwei-Faktor-Einstellungen eines Benutzers über die REST-API bearbeiten lassen. Das erste Argument ist das aktuelle Boolesche$can_edit, das zweite Argument ist die Benutzer-ID. - Die Aktion
two_factor_before_authentication_promptempfängt das Provider-Objekt und wird vor der Eingabeaufforderung im Authentifizierungsformular ausgelöst. - Die Aktion
two_factor_after_authentication_promptempfängt das Provider-Objekt und wird nach der im Authentifizierungs-Eingabeformular angezeigten Eingabeaufforderung ausgelöst. two_factor_after_authentication_input-Aktion, die das Provider-Objekt empfängt und nach der Eingabe im Authentifizierungsformular auslöst (wenn das Formular keine Eingabe enthält, wird die Aktion unmittelbar nach der Aktiontwo_factor_after_authentication_promptausgelöst).two_factor_login_backup_linksfiltert die auf dem Formular für die Zwei-Faktor-Anmeldung angezeigten Backup-Links.two_factor_login_nonce_failedaction which fires when a login nonce fails verification. Provides the ID of the user the nonce was presented for as the first argument, and the reason as the second:no_nonce_stored,expired, ormismatch.two_factor_log_login_nonce_failuresfilter overrides whether a failed login nonce verification is written to the PHP error log. Defaults to true forexpiredandmismatch, and false forno_nonce_stored, which any unauthenticated request can reach. Provides the user ID as the second argument and the reason as the third.
WP-CLI Commands
The plugin includes a wp two-factor WP-CLI namespace for managing two-factor authentication from the command line. All commands accept a user by ID, login, or email.
wp two-factor status <user>— Shows a user’s current 2FA status (read-only). Supports--format=json.wp two-factor list-providers— Lists all registered two-factor providers.wp two-factor enable <user> <provider>— Enables a provider for a user. Providers that require a shared secret (like TOTP) can’t be enabled this way and will point you to the profile page instead.wp two-factor disable <user> [<provider>]— Disables a single provider, or performs a full reset of all 2FA for the user when no provider is given. Both forms prompt for confirmation unless--yesis passed.wp two-factor backup-codes generate <user> [--count=<n>]— Generates a fresh set of backup codes for a user, replacing any existing ones. Defaults to 10 codes.wp two-factor unlock <user>— Clears a user’s login rate-limit/throttle without changing their 2FA configuration.
Run wp help two-factor for the full list, or wp help two-factor <command> for options and examples for a specific command.
Nach der Zwei-Faktor-Authentifizierung umleiten
Um Benutzer nach Abschluss der Zwei-Faktor-Authentifizierung auf eine bestimmte URL weiterzuleiten, verwende den in WordPress Core integrierten Filter „login_redirect“. Der Filter funktioniert genauso wie im standardmäßigen WordPress-Anmeldeablauf:
add_filter( 'login_redirect', function( $redirect_to, $requested_redirect_to, $user ) {
return home_url( '/dashboard/' );
}, 10, 3 );
Screenshots




FAQ
Welche PHP- und WordPress-Versionen unterstützt das Two-Factor-Plugin?
Dieses Plugin funktioniert mit den letzten beiden Hauptversionen von WordPress und der Mindestversion von PHP, die von diesen WordPress-Versionen unterstützt wird.
Wie kann ich Rückmeldung geben oder Hilfe bei einem Fehler erhalten?
Der beste Ort, um Fehler zu melden, neue Funktionen vorzuschlagen oder für sonstige Rückmeldungen ist die Two-Factor-Problemseite bei GitHub. Bevor du ein neues Problem meldest, durchsuche bitte die bisherigen Themen danach, ob nicht jemand anderes bereits das gleiche Feedback hinterlassen hat.
Wo kann ich Sicherheitslücken melden?
Die Plugin-Mitwirkenden und die WordPress-Community nehmen Sicherheitslücken ernst. Wir schätzen deine Bemühungen, deine Entdeckungen verantwortungsvoll zu veröffentlichen und werden uns bemühen, deine Beiträge zu würdigen.
Um ein Sicherheitsproblem zu melden, besuche bitte das WordPress-HackerOne-Programm.
Was, wenn ich den Zugriff auf all meine Authentifizierungsmethoden verliere?
Wenn du Backup-Codes aktiviert hast, kannst du einen davon verwenden, um wieder Zugriff zu erhalten. Wenn du keine Backup-Codes hast oder alle aufgebraucht sind, musst du den Administrator deiner Website kontaktieren, um dein Konto zurückzusetzen. Deswegen ist es wichtig, Backup-Code stets zu aktivieren und die Codes an einem sicheren Ort aufzubewahren.
Kann ich dieses Plugin mit WebAuthn benutzen?
The plugin previously supported FIDO U2F, which was a predecessor to WebAuthn. There is an open issue to add WebAuthn support here.
Gibt es eine empfohlene Methode, um Passkeys oder Hardware-Sicherheitsschlüssel mit Two Factor zu verwenden?
Yes. For passkeys and hardware security keys, you can install the Two-Factor Provider: WebAuthn plugin. It integrates directly with Two-Factor and adds WebAuthn-based authentication as an additional two-factor option for users.
Does this plugin work on WordPress Multisite?
Yes. The Two-Factor plugin is compatible with WordPress Multisite. Each user configures their own 2FA settings via their profile, and because authentication codes are stored in WordPress user meta, the configuration is tied to the user account and valid across all sites in the network. However, there are no network-wide settings — a super admin cannot enforce or configure 2FA globally from the Network Admin dashboard. To manage 2FA for a specific user, edit their profile on any site where they have an account.
How do I disable 2FA for a user who is locked out?
As an administrator, go to Users All Users in the WordPress admin, click Edit on the affected user’s profile, scroll down to the Two-Factor Options section, and uncheck all enabled methods, then click Update User. This will remove 2FA for that user, allowing them to log in with their password alone. You can also do this via WP-CLI with wp two-factor disable –yes, which performs a full reset (see the WP-CLI Commands section above). Once they’re back in, encourage them to re-enable 2FA and generate fresh backup codes.
Can I require 2FA for all users or specific roles?
Not through the plugin’s interface — there are no built-in enforcement settings. However, developers can use the
two_factor_providers_for_userfilter to control which providers are available per user or role, and combine it with custom logic to redirect users who haven’t set up 2FA. Native enforcement support is a known and tracked feature request — follow the discussion at GitHub issue #255.
Rezensionen
Mitwirkende und Entwickler
„Two Factor“ ist Open-Source-Software. Folgende Menschen haben an diesem Plugin mitgewirkt:
Mitwirkende„Two Factor“ wurde in 43 Sprachen übersetzt. Danke an die Übersetzer für ihre Mitwirkung.
Übersetze „Two Factor“ in deine Sprache.
Interessiert an der Entwicklung?
Durchstöbere den Code, sieh dir das SVN-Repository an oder abonniere das Entwicklungsprotokoll per RSS.
Änderungsprotokoll
0.17.0 – 2026-09-25
- Security Fixes: Ensure that regular passwords can’t bypass the two-factor requirement for REST API and XML-RPC requests by @faisalahammad in #989. Thanks mqrble for responsibly reporting the issue.
- Security Fixes: Add diagnostics for failed login nonce verification by @georgestephanis in #973. Thanks Ananda Dhakal (Patchstack) for responsibly reporting the issue.
- New Features: Add WP-CLI support with
wp two-factorcommands by @masteradhoc in #905 - New Features: Respect intentional bypass via the
two_factor_is_required_for_userfilter by @masteradhoc in #882 - New Features: Add a
two_factor_fallback_provider_for_userfilter for when a user’s stored providers are no longer registered by @masteradhoc in #882 - New Features: Add early notice for soon exhausting recovery codes by @masteradhoc in #907
- New Features: Add privacy policy content registration by @masteradhoc in #869
- Bug Fixes: Fail closed when CSPRNG is unavailable during nonce generation by @dknauss in #877
- Bug Fixes: Only clear the login nonce once it has expired by @georgestephanis in #980
- Bug Fixes: Fix unslashed
REMOTE_ADDRwarning in email provider by @masteradhoc in #975 - Bug Fixes: Fix TOTP verify button after resetting authenticator app by @lakrisgubben in #979
- Bug Fixes: Remove
two_factor_enabled_providersoption on uninstall by @faisalahammad in #903 - Bug Fixes: Fix misleading notice by @masteradhoc in #858
- Bug Fixes: Reword mixed-audience login failure notice to be informational by @dknauss in #922
- Bug Fixes: Rework fail-safe by @masteradhoc in #927
- Bug Fixes: Add coverage for provider-specific fallback notices by @dknauss in #923
- Bug Fixes: Fix HTML5 validation issues by @masteradhoc in #910
- Bug Fixes: Fix users list table fatals (
wp_die) when a user’s 2FA provider is deregistered by @masteradhoc in #933 - Development Updates: Prepare for the WordPress 7.0 release by @masteradhoc in #834
- Development Updates: Prepare for the WordPress 7.1 release by @masteradhoc in #900
- Development Updates: Sync
login_header()andlogin_footer()with WP 7.1 by @masteradhoc in #963 - Development Updates: Update PHPStan to 2.x and exclude
includes/from analysis by @masteradhoc in #972 - Development Updates: Validate against PHPStan version 3, 4 and 5 by @masteradhoc in #948
- Development Updates: Update
wp-coding-standards/wpcsto 3.4.1 by @obenland in #947 - Development Updates: Fix PHPCS and PHPStan issues across multiple files by @aslamdoctor in #818
- Development Updates: Remove
ReflectionProperty::setAccessible()andReflectionMethod::setAccessible()calls in the test suite by @masteradhoc in #942 - Development Updates: Fix Codecov badge by adding OIDC permission for tokenless upload by @nimesh-xecurify in #856
- Development Updates: Update GitHub Actions workflows by @johnbillion in #892
- Development Updates: Update Playground PR preview action to v4 by @obenland in #985
- Development Updates: Add FAQ entries for Multisite, locked-out users, and role enforcement by @masteradhoc in #881
- Development Updates: Update
.mdfiles with the latest two-factor changes and requirements by @masteradhoc in #929 - Development Updates: Update PR template by @masteradhoc in #870
- Development Updates: Unbreak CI: PHPStan false positive and matrix fail-fast by @georgestephanis in #974
- Dependency Updates: Bump the
qrcode-generatorruntime dependency by @kasparsd - Dependency Updates: Bump
qsandexpressby @dependabot[bot] in #895 - Dependency Updates: Bump adm-zip and
@wordpress/scriptsby @dependabot[bot] in #988
0.16.0 – 2026-03-27
- Breaking Changes: Remove legacy FIDO U2F provider support by #439.
- New Features: Add a dedicated settings page for plugin configuration in wp-admin by #764.
- New Features: Add a support links filter so consumers can customize contextual recovery/help links by #615.
- New Features: Refresh backup codes UI styling and behavior by #804.
- Bug Fixes: Delete stored TOTP secrets when the TOTP provider is disabled by #802.
- Bug Fixes: Harden provider handling so login/settings checks do not fail open when expected providers disappear by #586.
- Bug Fixes: Ensure only configured providers are saved and enabled in user settings by #798.
- Bug Fixes: Improve settings-page accessibility and fix profile settings link behavior by #828 and #830.
- Bug Fixes: Resolve PHPCS violations in provider files by #851.
- Development Updates: Move login styles and provider scripts from inline output to enqueued/external assets by #807 and #814.
- Development Updates: Improve inline docs and static-analysis compatibility (WPCS/phpstan) by #810, #815, and #817.
- Development Updates: Improve unit test reliability and integrate CI code coverage reporting by #825, #841, and #842.
- Development Updates: Update readme docs and modernize CI workflow infrastructure by #835, #837, #843, and #849.
- Dependency Updates: Bump
qsfrom 6.14.1 to 6.14.2 by #794. - Dependency Updates: Bump
basic-ftpfrom 5.0.5 to 5.2.0 by #816. - Dependency Updates: Apply automatic lint/format updates and associated Composer package refreshes by #799.
0.15.0 – 2026-02-13
- Breaking Changes: Trigger two-factor flow only when expected by @kasparsd in #660 and #793.
- New Features: Include user IP address and contextual warning in two-factor code emails by @todeveni in #728
- New Features: Optimize email text for TOTP by @masteradhoc in #789
- New Features: Add „Settings“ action link to plugin list for quick access to profile by @hardikRathi in #740
- New Features: Additional form hooks by @eric-michel in #742
- New Features: Full RFC6238 Compatibility by @ericmann in #656
- New Features: Consistent user experience for TOTP setup by @kasparsd in #792
- Documentation:
@sincedocs by @masteradhoc in #781 - Documentation: Update user and admin docs, prepare for more screenshots by @jeffpaul in #701
- Documentation: Add changelog & credits, update release notes by @jeffpaul in #696
- Documentation: Clear readme.txt by @masteradhoc in #785
- Documentation: Add date and time information above TOTP setup instructions by @masteradhoc in #772
- Documentation: Clarify TOTP setup instructions by @masteradhoc in #763
- Documentation: Update RELEASING.md by @jeffpaul in #787
- Development Updates: Pause deploys to SVN trunk for merges to
masterby @kasparsd in #738 - Development Updates: Fix CI checks for PHP compatability by @kasparsd in #739
- Development Updates: Fix Playground refs by @kasparsd in #744
- Development Updates: Persist existing translations when introducing new helper text in emails by @kasparsd in #745
- Development Updates: Fix
missing_direct_file_access_protectionby @masteradhoc in #760 - Development Updates: Fix
mismatched_plugin_nameby @masteradhoc in #754 - Development Updates: Introduce Props Bot workflow by @jeffpaul in #749
- Development Updates: Plugin Check: Fix Missing $domain parameter by @masteradhoc in #753
- Development Updates: Tests: Update to supported WP version 6.8 by @masteradhoc in #770
- Development Updates: Fix PHP 8.5 deprecated message by @masteradhoc in #762
- Development Updates: Exclude 7.2 and 7.3 checks against trunk by @masteradhoc in #769
- Development Updates: Fix Plugin Check errors:
MissingTranslatorsComment&MissingSingularPlaceholderby @masteradhoc in #758 - Development Updates: Add PHP 8.5 tests for latest and trunk version of WP by @masteradhoc in #771
- Development Updates: Add
phpcs:ignorefor falsepositives by @masteradhoc in #777 - Development Updates: Fix(totp):
otpauthlink in QR code URL by @sjinks in #784 - Development Updates: Update deploy.yml by @masteradhoc in #773
- Development Updates: Update required WordPress Version by @masteradhoc in #765
- Development Updates: Fix: ensure execution stops after redirects by @sjinks in #786
- Development Updates: Fix
WordPress.Security.EscapeOutput.OutputNotEscapederrors by @masteradhoc in #776 - Dependency Updates: Bump qs and express by @dependabot[bot] in #746
- Dependency Updates: Bump lodash from 4.17.21 to 4.17.23 by @dependabot[bot] in #750
- Dependency Updates: Bump lodash-es from 4.17.21 to 4.17.23 by @dependabot[bot] in #748
- Dependency Updates: Bump phpunit/phpunit from 8.5.44 to 8.5.52 by @dependabot[bot] in #755
- Dependency Updates: Bump symfony/process from 5.4.47 to 5.4.51 by @dependabot[bot] in #756
- Dependency Updates: Bump qs and body-parser by @dependabot[bot] in #782
- Dependency Updates: Bump webpack from 5.101.3 to 5.105.0 by @dependabot[bot] in #780
0.14.2 – 2025-12-11
- New Features: Add filter for rest_api_can_edit_user_and_update_two_factor_options by @gutobenn in #689
- Development Updates: Remove Coveralls tooling and add inline coverage report by @kasparsd in #717
- Development Updates: Update blueprint path to pull from main branch instead of a deleted f… by @georgestephanis in #719
- Development Updates: Fix blueprint and wporg asset deploys by @kasparsd in #734
- Development Updates: Upload release only on tag releases by @kasparsd in #735
- Development Updates: Bump playwright and @playwright/test by @dependabot[bot] in #721
- Development Updates: Bump tar-fs from 3.1.0 to 3.1.1 by @dependabot[bot] in #720
- Development Updates: Bump node-forge from 1.3.1 to 1.3.2 by @dependabot[bot] in #724
- Development Updates: Bump js-yaml by @dependabot[bot] in #725
- Development Updates: Mark as tested with the latest WP core version by @kasparsd in #730
0.14.1 – 2025-09-05
- Don’t URI encode the TOTP url for display. by @dd32 in #711
- Removed the duplicate Security.md by @slvignesh05 in #712
- Fixed linting issues by @sudar in #707
- Update development dependencies and fix failing QR unit test by @kasparsd in #714
- Trigger checkbox js change event by @gedeminas in #688
0.14.0 – 2025-07-03
- Features: Enable Application Passwords for REST API and XML-RPC authentication (by default) by @joostdekeijzer in #697 and #698. Previously this required two_factor_user_api_login_enable filter to be set to true which is now the default during application password auth. XML-RPC login is still disabled for regular user passwords.
- Features: Label recommended methods to simplify the configuration by @kasparsd in #676 and #675
- Documentation: Add WP.org plugin demo by @kasparsd in #667
- Documentation: Document supported versions of WP core and PHP by @jeffpaul in #695
- Documentation: Document the release process by @jeffpaul in #684
- Tooling: Remove duplicate WP.org screenshots and graphics from SVN trunk by @jeffpaul in #683
0.13.0 – 2025-04-02
- Add two_factor_providers_for_user filter to limit two-factor providers available to each user by @kasparsd in #669
- Update automated testing to cover PHP 8.4 and default to PHP 8.3 by @BrookeDot in #665
Die vollständigen Details zum Änderungsprotokoll findest du hier.
