ProcessWire - OAuth Anmeldung über Microsoft365
Aus Wikizone
Quickstart[Bearbeiten]
- App bei EntraID registrieren
- Anwendungen
- ID und Secret werden in der Anwendung benötigt
- Urls festlegen (Redirect URL / Logout URL)
- User Template von ProcessWire erweitern. E-Mail und Passwort allein reicht nicht wir gleichen ab anhand:
- firstname
- lastname
- email (bereits vorhanden)
Grundsätzliches Vorgehen[Bearbeiten]
Azure App-Registrierung
Lege in der Azure App-Registrierung (Azure Active Directory) eine neue Anwendung an.
Richte die Umleitungs-URL (Redirect URI) ein, die später auf deine ProcessWire-Instanz zeigt (z. B. https://deinedomain.de/oauth/callback).
Notiere dir Client-ID und Client-Secret.
Authentifizierungsprotokoll auswählen
Microsoft Azure AD unterstützt sowohl OAuth2 als auch SAML.
Für die meisten Webanwendungen empfiehlt sich die OAuth2 / OpenID Connect-Variante. Damit erhält man später ein JWT (ID-Token bzw. Access-Token), das man in ProcessWire verifizieren kann.
Custom Module oder Integration in ProcessWire
Baue (oder nutze) ein eigenes ProcessWire-Modul, das sich um den OAuth-Flow kümmert. Typischerweise wird dazu nach Microsoft weitergeleitet (Login), und nach Erfolg wird man an die in Azure eingestellte Redirect-URL zurückgeleitet.
Im Modul muss das ID-Token (oder Access Token) validiert werden. Anschließend wird der Benutzer in ProcessWire identifiziert (z. B. anhand der E-Mail-Adresse).
Benutzer-/Rollenverwaltung
Bei erfolgreicher Anmeldung musst du entscheiden, ob ein ProcessWire-Benutzer angelegt wird, falls er noch nicht existiert, oder ob nur bestehende User eingelassen werden.
Ggfs. kannst du auch eine automatische Rollenzuordnung (z. B. role=editor oder role=client) machen, falls du anhand der Azure-AD-Gruppen oder der Domain („@meineDomain.com“) unterscheiden möchtest.