OAuth2-Authentifizierung für das TYPO3 Backend
Ein Login für alle Systeme – kein separates TYPO3-Passwort mehr
Wer in mehreren Systemen arbeitet, kennt das Problem: für jede Anwendung ein eigenes Passwort, das regelmäßig geändert werden muss und nirgends gleich ist. Im TYPO3-Umfeld betrifft das Redakteure, Entwickler und Administratoren gleichermaßen.
Die TYPO3 Extension oauth2 löst dieses Problem: Nutzer melden sich im TYPO3-Backend über den OAuth2-Provider an, den sie ohnehin täglich nutzen, und benötigen kein separates TYPO3-Passwort mehr. Ein Login für alle Systeme.
Die Zuordnung von Nutzern zu Gruppen und Rollen kann dabei direkt im Provider verwaltet werden. Die Konfiguration der Gruppen und Zugriffsrechte in TYPO3 selbst bleibt Aufgabe des Administrators, muss aber nur einmalig eingerichtet werden.
Unsere Lösung: Generische OAuth2-Integration für TYPO3
Die Extension wurde ursprünglich anlässlich der TYPO3 Developer Days 2018 entwickelt, um unseren eigenen Bedarf zu decken. Wir setzen GitLab als zentrales System für unser Source-Code-Management ein und haben die Extension entwickelt, um unsere Entwickler damit direkt ins TYPO3-Backend anmelden zu können. Sie ist vollständig generisch ausgelegt und unterstützt jeden OAuth2-kompatiblen Dienst, ohne Anpassungen am Quellcode. Gängige Identity Provider wie GitLab, GitHub, Google, Microsoft Azure AD, Keycloak oder selbst betriebene OAuth2-Server lassen sich flexibel konfigurieren. Intern arbeiten wir bereits an einer Keycloak-Implementierung als weiteren Provider.
Nach der Installation erscheint neben dem klassischen Login per Benutzername und Passwort ein zusätzlicher Login-Button für den konfigurierten OAuth2-Dienst. Nutzer, die dort bereits angemeldet sind, gelangen nach einer einmaligen Freigabe direkt ins TYPO3-Backend, ohne erneute Passworteingabe.
Das reduziert den administrativen Aufwand erheblich: Zugriffsrechte werden zentral im Identity-Provider verwaltet, und das Onboarding neuer Mitarbeiter oder das Entfernen ausgeschiedener Nutzer ist mit einem einzigen Schritt erledigt.
Features der Extension "oauth2"
Die Extension ist als Open Source verfügbar. Die aktuelle Version unterstützt TYPO3 v13 und v14 (PHP 8.2), ältere Versionen unterstützen auch TYPO3 ab v11. Neue Features werden ausschließlich in die jeweils aktuelle Version eingebracht.
Authentifizierung:
- Anmeldung im TYPO3-Backend über jeden OAuth2-kompatiblen Dienst.
- GitLab-Provider ist direkt in der Extension enthalten und sofort konfigurierbar.
- Eigene Provider können über eine klar definierte Schnittstelle einfach implementiert werden.
Benutzerverwaltung:
- Automatische Anlage neuer Backend-Nutzer bei der ersten Anmeldung.
- Steuerung von Admin-Berechtigungen und Backend-Gruppenzugehörigkeiten über den OAuth2-Dienst.
Offen und erweiterbar:
- Open Source, lizenziert unter GPL-2.
- Aktiv weiterentwickelt und in produktiven Projekten erprobt.
- Kostenloser Support über den GitHub Issue Tracker, kommerzieller Support auf Anfrage.
Linkliste TYPO3-Extension "oauth2"
- oauth2 – Extension-Download im TYPO3 Extension Repository (TER)
- oauth2 – Source Code Repository auf GitHub
- oauth2 – Issue-Tracker auf GitHub
- oauth2 – Offizielle Dokumentation bei TYPO3
- Blogbeitrag: Unsere kleinen Helferlein: Automatische Backend-Logins mit OAuth 2.0
- Blogbeitrag: Warum wir nur personalisierte Accounts einsetzen
- Blogbeitrag: EXT:oauth2 für TYPO3 v11 und PHP 8 verfügbar
TYPO3 Backend-Strukturen professionell gestalten
Eine saubere Benutzerverwaltung ist die Grundlage für sichere und effiziente redaktionelle Workflows in TYPO3. Die oauth2 Extension ist dabei ein Baustein, aber die Fragen nach Rechtekonzepten, Gruppenstrukturen und Onboarding-Prozessen gehen darüber hinaus.
Wir beraten und begleiten TYPO3-Projekte bei der Konzeption und Umsetzung passender Backend-Strukturen, von der Rechtevergabe bis zur Integration in bestehende Identity-Management-Systeme.
Im Einsatz bei
Wir setzen oauth2 selbst auf marketing-factory.de ein und haben die Extension in zahlreichen Kundenprojekten integriert, darunter CPZ (bau-welt.de), SEGGER, Maxionwheels, pfm und ha-group. Mit über 77.000 Downloads im TYPO3 Extension Repository wird sie darüber hinaus von einer wachsenden Zahl weiterer TYPO3-Projekte weltweit eingesetzt.
Häufige Fragen
Was macht die TYPO3 Extension oauth2 genau?
Die Extension ermöglicht die Anmeldung im TYPO3-Backend über jeden OAuth2-kompatiblen Dienst. Statt eines separaten TYPO3-Passworts melden sich Nutzer mit ihren bestehenden Zugangsdaten aus dem zentralen Identity-Provider des Unternehmens an.
Für welche TYPO3-Versionen ist die Extension verfügbar?
Die aktuelle Version unterstützt TYPO3 v13 und v14 (PHP 8.2). Ältere Versionen der Extension unterstützen auch TYPO3 ab v11. Neue Features werden ausschließlich in die jeweils aktuelle Version eingebracht. Die Installation erfolgt per Composer: composer require mfc/oauth2.
Ist die Extension kostenlos nutzbar?
Ja. Die Extension ist Open Source und unter der GPL-2-Lizenz veröffentlicht. Kostenloser Support ist über den GitHub Issue Tracker verfügbar, kommerzieller Support auf Anfrage.
Welche OAuth2-Provider werden unterstützt?
Die Extension ist vollständig generisch und unterstützt jeden OAuth2-kompatiblen Dienst. Ein GitLab-Provider ist direkt enthalten und sofort konfigurierbar. Weitere Provider wie GitHub, Google, Microsoft Azure AD oder Keycloak lassen sich über eine klar definierte Schnittstelle einfach implementieren.
Müssen Backend-Nutzer vorab in TYPO3 angelegt werden?
Nein. Die Extension kann neue Backend-Nutzer automatisch beim ersten Login anlegen. Das vereinfacht das Onboarding erheblich.
Können Berechtigungen über den OAuth2-Dienst gesteuert werden?
Ja. Bestimmte OAuth2-Provider können Admin-Berechtigungen vergeben und Backend-Gruppenzugehörigkeiten steuern. Das bedeutet: Rechte werden zentral im Identity-Provider verwaltet und müssen nicht separat in TYPO3 gepflegt werden.
Was passiert, wenn ein Mitarbeiter das Unternehmen verlässt?
Da die Anmeldung über den zentralen Identity-Provider erfolgt, reicht es, den Nutzer dort zu deaktivieren. Der Zugang zu allen angebundenen Systemen, einschließlich TYPO3, ist damit sofort gesperrt, ohne dass jedes System einzeln angepasst werden muss.
Wie wird ein eigener OAuth2-Provider implementiert?
Eigene Provider können durch Erweiterung der abstrakten Klasse AbstractResourceServer implementiert werden. Die Extension stellt eine klar definierte Schnittstelle bereit, über die sich jeder OAuth2-kompatible Dienst anbinden lässt.
Gibt es besondere Anforderungen an die TYPO3-Konfiguration?
Ja. Für den OAuth2-Redirect-Mechanismus muss die Cookie-Einstellung in TYPO3 auf lax gesetzt werden:
$GLOBALS['TYPO3_CONF_VARS']['BE']['cookieSameSite'] = 'lax'
Wie kann ich zur Entwicklung beitragen?
Die Extension ist auf GitHub verfügbar. Feature-Anfragen und Fehlermeldungen können über den Issue-Tracker eingereicht werden. Pull Requests sind ausdrücklich willkommen. Für kommerziellen Support stehen wir gerne direkt zur Verfügung.

