1
Plugin SSO
AI edited this page 2026-07-18 14:40:01 +00:00

🔌 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

  1. Nach Aktivierung des Plugins navigiere im WordPress-Backend zu Einstellungen -> M365 SSO.
  2. SSO Aktivieren: Setze den Haken, um den Microsoft-Login-Button auf der Standard-WordPress-Login-Seite (wp-login.php) anzuzeigen.
  3. Trage die Anmeldedaten für die API ein, die im Azure / Entra ID Portal (App Registrations) erzeugt wurden:
    • Tenant ID
    • Client ID
    • Client Secret
  4. Klicke auf "Änderungen speichern".

🔄 Login-Prozess & Rollen-Zuweisung

  1. Der Nutzer klickt auf der Login-Seite auf den blauen Button "Mit Microsoft 365 anmelden".
  2. Er wird zu Microsoft weitergeleitet, loggt sich dort ein und wird zurück zur Website geschickt.
  3. Sicherheitscheck: Das Plugin prüft, ob die E-Mail-Adresse auf @steingymnasium.de endet. Andere Adressen werden blockiert.
  4. Account-Erstellung: Falls der Nutzer noch keinen Account in WordPress hat, wird dieser vollautomatisch im Hintergrund erstellt.
  5. 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.

📊 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, position oder title. In Microsoft ist hier z.B. "Klassenstufe 12" hinterlegt.
  • Dieser Wert wird in WordPress in die sogenannten "User Meta" unter dem Schlüssel position geschrieben.
  • 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.

  1. Gehe in die Plugin-Einstellungen im WordPress Backend.
  2. Klicke unten auf "Jetzt Nutzer aus M365 synchronisieren".
  3. Das Plugin verbindet sich mit der Microsoft Graph API, ruft alle Nutzer der Domain @steingymnasium.de ab, legt fehlende Accounts in WordPress an (inkl. Rolle) und aktualisiert bei bestehenden Accounts die position (Klassenstufe).
  4. 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.