🔌 SG M365 SSO (Single Sign-On)
Dieses WordPress-Plugin ermöglicht es Schülern und Lehrern, sich mit ihren bestehenden Microsoft 365 (Entra ID) Zugangsdaten des Stein-Gymnasiums auf der Website einzuloggen.
Gleichzeitig synchronisiert das Plugin beim Login die wichtigsten Nutzerdaten, damit andere Plugins (wie der Stein-Gymnasium Event Manager) auf diese zugreifen können.
🛠 Einrichtung im Backend
- Nach Aktivierung des Plugins navigiere im WordPress-Backend zu Einstellungen -> M365 SSO.
- SSO Aktivieren: Setze den Haken, um den Microsoft-Login-Button auf der Standard-WordPress-Login-Seite (
wp-login.php) anzuzeigen. - Trage die Anmeldedaten für die API ein, die im Azure / Entra ID Portal (App Registrations) erzeugt wurden:
- Tenant ID
- Client ID
- Client Secret
- Klicke auf "Änderungen speichern".
🔄 Login-Prozess & Rollen-Zuweisung
- Der Nutzer klickt auf der Login-Seite auf den blauen Button "Mit Microsoft 365 anmelden".
- Er wird zu Microsoft weitergeleitet, loggt sich dort ein und wird zurück zur Website geschickt.
- Sicherheitscheck: Das Plugin prüft, ob die E-Mail-Adresse auf
@steingymnasium.deendet. Andere Adressen werden blockiert. - Account-Erstellung: Falls der Nutzer noch keinen Account in WordPress hat, wird dieser vollautomatisch im Hintergrund erstellt.
- Rollen-Zuweisung: Das Plugin analysiert die E-Mail-Adresse, um automatisch zwischen Schülern und Lehrern zu unterscheiden:
- Endet der vordere Teil der E-Mail auf ein Muster, das eindeutig auf Lehrer hinweist (genau 1 Buchstabe vor einem Punkt, z.B.
m.mustermann@), wird der User als Redakteur (Editor) angelegt. - Alle anderen (z.B.
max.mustermann@) werden als Abonnent (Subscriber) angelegt.
- Endet der vordere Teil der E-Mail auf ein Muster, das eindeutig auf Lehrer hinweist (genau 1 Buchstabe vor einem Punkt, z.B.
📊 Metadaten-Synchronisierung (Klassenstufe / Position)
Ein wichtiges Feature für das Event-Modul ist die automatische Übernahme der Klassenstufe aus Microsoft 365.
- Während des Logins liest das Plugin den Microsoft-Token des Nutzers aus.
- Es sucht nach den Feldern
jobTitle,positionodertitle. In Microsoft ist hier z.B. "Klassenstufe 12" hinterlegt. - Dieser Wert wird in WordPress in die sogenannten "User Meta" unter dem Schlüssel
positiongeschrieben. - Loggt sich der Nutzer später erneut ein und seine Klasse hat sich in MS geändert, wird der Wert in WordPress automatisch aktualisiert.
⚡ Manueller Sync (Graph API)
Um nicht darauf warten zu müssen, dass sich alle Nutzer mindestens einmalig einloggen (um im WordPress-System angelegt zu werden), bietet das Plugin einen manuellen Sync.
- Gehe in die Plugin-Einstellungen im WordPress Backend.
- Klicke unten auf "Jetzt Nutzer aus M365 synchronisieren".
- Das Plugin verbindet sich mit der Microsoft Graph API, ruft alle Nutzer der Domain
@steingymnasium.deab, legt fehlende Accounts in WordPress an (inkl. Rolle) und aktualisiert bei bestehenden Accounts dieposition(Klassenstufe). - Du siehst danach eine Erfolgsmeldung mit der genauen Anzahl der verarbeiteten Accounts.
Voraussetzung für den Sync: Die in den Einstellungen hinterlegte Azure App muss zwingend die Berechtigung User.Read.All besitzen. Dies muss als Anwendungsberechtigung (Application Permission) konfiguriert und von einem Administrator im Azure-Portal bestätigt (Admin Consent) worden sein.