Zum Inhalt springen
Marketing Factory Digital GmbH
Kontakt
Logo Marketing Factory Digital GmbH
  • Agentur
    • Aktuelles
    • Über uns
    • Geschichte
  • Leistungen
    • Beratung, Analyse und Strategie
    • Programmierung und Entwicklung
      • Schnittstellen
      • PIM-/ERP-Anbindungen
      • Individualentwicklungen
      • Seamless CMS Integration
    • Hosting und Betreuung
      • Cloud-Strategien
      • Hosting Partner der Marketing Factory
    • Leistungen mit Dritten
  • Technologie
    • TYPO3
      • Aktuelle TYPO3-Versionen
    • Shopware
    • IT-Sicherheit
      • DDoS-Protection
      • Continuous Upgrading
      • Privacy First
    • Tech Stack
      • Bekenntnis zu Open Source
      • Technologieauswahl
      • PHP-Ökosystem
      • Containerisierung & Clustering
      • Content Delivery Networks
      • Suchtechnologien
  • Referenzen
    • Projekte
    • Kunden
      • Kundenliste
    • Screenshot der Homepage der neuen Maxion Wheels WebsiteNEU: Relaunch der Corporate Website von Maxion Wheels
  • Community
    • Community-Initiativen
  • Blog
  • Kontakt
  • Deutsch
  • English

Sie sind here:

  1. Blog
  2. Unsere kleinen Helferlein: Automatische Backend-Logins mit OAuth 2.0
TYPO3-Backend-Login mit Login-Möglichkeit über GitLab
  • Extensions
  • Development
  • TYPO3
10.07.2018

Unsere kleinen Helferlein: Automatische Backend-Logins mit OAuth 2.0


Im TYPO3-Umfeld ist das Rechtemanagement durchaus eine Herausforderung. Die meisten Kunden haben verschiedenste Mitarbeitergruppen, die alle unterschiedliche Zugriffsrechte im Backend bekommen sollen. Zusätzlich müssen auch unsere Entwickler einen Blick ins Backend werfen können – meist benötigen sie einen Administratorzugang, um Extensions zu konfigurieren, auf Fehlersuche zu gehen oder – ganz allgemein – die Installation zu betreuen. Kommen dann auch noch Entwicklungssysteme hinzu, so wird das Ganze schnell komplex und muss aufwändig betreut werden.

Wer darf denn überhaupt ins Backend?

… Denn, seit die DSGVO in Kraft getreten ist, muss man sich frühzeitig Gedanken machen, wer überhaupt einen Backendzugang bekommen darf. Viele Agenturen, wir bildeten da keine Ausnahme, haben daher dem gesamten Entwicklerteam Zugriff auf alle TYPO3-Installationen gegeben, ungeachtet dessen, ob der jeweilige Kollege überhaupt an dem Projekt mitarbeitet oder nicht. Nach der aktuellen Rechtslage müsste das aber hinterfragt werden. Ideal wäre es, wenn nur diejenigen Mitarbeiter Zugriff bekämen, die auch aktiv an dem Projekt mitarbeiten. TYPO3 müsste also wissen, welche Entwickler am Projekt arbeiten und entsprechende Backendaccounts anlegen – idealerweise automatisch. Außerdem muss es Accounts schließen, sobald der Kollege an dem Projekt dauerhaft nicht mehr arbeitet.

Backend-Logins für alle Entwickler

Nun verwendet die MFC seit einiger Zeit GitLab als Git-basiertes Quellcodeverwaltungssystem. Alle Projekte werden über dieses System gemanaged und Entwickler haben entsprechend zu ihren jeweiligen Projekten Zugriff.

Seit Version 7.7 kann GitLab als OAuth-2.0-Provider arbeiten. OAuth ist ein Protokoll, mit dem Anwendungen für die Steuerung von Accounts und Berechtigungen auf andere Anwendungen zurückgreifen können. Der Durchschnittsnutzer kennt es z. B. von den „Login mit Facebook“- oder „Login mit Twitter“-Buttons, die überall im Internet zu finden sind. Alle diese Dienste benutzen OAuth, um es dem Nutzer zu ersparen, sich noch einmal separat registrieren zu müssen.

TYPO3-Extension-Repository (TER) gibt es nun etliche Extensions, die OAuth integrieren. Fast alle tun dies jedoch zunächst für Frontend-Logins, also für Seitennutzer; im Backendbereich ist offensichtlich noch niemand auf die Idee gekommen, generische OAuth-basierte Logins anzubieten. Der Grund hierfür ist, dass es ja nicht genügt, den Nutzer nur „hereinzulassen“ (Authentifizierung). Man muss auch festlegen, welche Berechtigungen der Nutzer hat (Autorisierung). Aus diesem Grund ist ein Backend-Login via Facebook, Twitter o. Ä., obgleich technisch zwar möglich, aber nicht sinnvoll.

In Verbindung mit Diensten wie GitHub, BitBucket oder eben GitLab sieht das jedoch anders aus. Denn hierbei kann man die Berechtigungen einfach an das koppeln, was der jeweilige Nutzer in einem dort gehosteten Softwareprojekt machen darf. Wer also einen der genannten Dienste für sein Quellcodemanagement nutzt, kann so elegant Backendzugänge für Entwickler verteilen.

Unser Beitrag zur TYPO3-Community

Aus diesem Grund haben wir anlässlich der diesjährigen TYPO3 Developer Days 2018 die Gelegenheit genutzt, um eine entsprechende Schnittstelle in TYPO3 zu schaffen. Zusammen mit meinen Kollegen Christian Hellmund und Simon Schmidt habe ich eine generische OAuth-2.0-Anbindung an das TYPO3-Backend geschaffen. Im ersten Schritt haben wir hierbei GitLab integriert –hauptsächlich, um unseren eigenen Bedarf zu decken. Die Extension ist aber so ausgelegt, dass auch noch andere OAuth-2.0-kompatible Dienste angebunden werden können.

Die Einrichtung der Extension in TYPO3 und GitLab ist mit wenigen Handgriffen erledigt:
Per composer req mfc/oauth2 wird sie in die TYPO3-Installation integriert – vorausgesetzt wird mindestens die Version 8 LTS. Danach führt der nächste Weg ins Backend in die Extension-Konfiguration. Dort kann der Administrator die GitLab-Benutzer – je nach Projektberechtigung in GitLab – verschiedenen Benutzergruppen zuordnen. Ab einer konfigurierbaren Berechtigungsstufe setzt die Extension automatisch das Admin-Flag. Administratoren, die nur den Login per OAuth durchführen möchten und die Zugriffsberechtigungen lieber selbst steuern, können per Konfigurationsflag dafür sorgen, dass bestehende Backend-Rechte bestehen bleiben.

Zeige größere Version von: TYPO3-Login via GitLab

Sobald die Extension installiert und konfiguriert ist, gibt es neben dem Login per Benutzername und Passwort auch die Möglichkeit, nur auf einen Button "Login mit GitLab" zu klicken. Dieser führt zu GitLab, wo der Entwickler meist schon angemeldet ist. Eine einmalige Freigabe in GitLab, die der Extension den Zugriff auf die Informationen in GitLab ermöglicht, führt dann wieder zurück in TYPO3, wo der Entwickler dann direkt eingeloggt wird. Später wird der Nutzer GitLab nicht einmal mehr sehen, sondern gelangt direkt ins TYPO3-Backend.

Mit der Installation der Extension oauth2 sind die Zeiten der Passwortrotation in Kundeninstallationen für unsere Mitarbeiter damit endgültig vorbei.

Die Links zur "OAuth2 authentication and authorization Extension":

  • OAuth2-Extension bei Github
  • OAuth2-Extension bei Packagist
  • Extension-Seite im Extension Repository bei TYPO3.org
Christian Spoo

"Mr. Fix-It" zwingt Soft- und Hardware gerne seinen Willen auf. Spricht fließend Meme und Picdump. Bei der Marketing Factory für die Bereiche Entwicklung und technische Konzeption zuständig.

Weitere Beiträge dieses Autors

Blog als RSS-Feed abonnieren

Verwandte Beiträge

  • Relaunch der Website unseres Kunden Maxion Wheels auf Basis von TYPO3 12.4 LTS
  • Wir schicken beuser_iprange in die Rente
  • Reviews von Trusted Shops in Shopware 6 anzeigen
  • EXT:oauth2 für TYPO3 v11 und PHP 8 verfügbar

Wir freuen uns, wenn Ihr diesen Beitrag teilt.


Kommentare

Keine Kommentare gefunden.

Kommentar verfassen.

Ich bin darauf hingewiesen worden, dass die Verarbeitung meiner Daten auf freiwilliger Basis erfolgt und dass ich mein Einverständnis ohne für mich nachteilige Folgen verweigern bzw. jederzeit gegenüber der Marketing Factory Digital GmbH per Post (Marienstraße 14, D-40212 Düsseldorf) oder E-Mail (info@marketing-factory.de) widerrufen kann.

Mir ist bekannt, dass die oben angegebenen Daten so lange gespeichert werden, wie ich die Kontaktaufnahme durch Marketing Factory wünsche. Nach meinem Widerruf werden meine Daten gelöscht. Eine weitergehende Speicherung kann im Einzelfall erfolgen, wenn dies gesetzlich vorgeschrieben ist.

  • Datenschutzerklärung
  • Impressum

© Marketing Factory Digital GmbH

Bildnachweise
  1. "TYPO3-Login via GitLab": © Christian Spoo / Marketing Factory Digital GmbH
  2. "TYPO3-Login per GitLab (EXT:oauth2)": © Urheber Marketing Factory Digital GmbH