Matomo Login mit Azure AD

Zu viele Passwörter sind ein Problem und genau deswegen soll immer häufiger ein zentrales Single Sign On Authentifizierungsmanagement genutzt werden. Für die Anbindung von Azure AD-Konten an Matomo mit Hilfe des eigentlich sehr hilfreichen Plugins Login OIDC kommt man jedoch früher oder später an den Punkt, an dem man merkt, dass Nutzer ohne Exchange-Lizenz keinen Eintrag im Feld "mail" aufweisen. Um das zu umgehen, kann auf das Feld userPrincipalName zurückgegriffen werden. Dazu hilft das folgende Vorgehen:

  1. Ändern der UserInfo URL in den LoginOIDC-Einstellungen in: https://graph.microsoft.com/v1.0/me - Die Dokumentation der nun zurückgegebenen Variablen findet sich hier
  2. Das Feld "sub" wird im neuen Endpoint nicht mehr ausgegeben. Daher wird die Userinfo ID jetzt zu "id"
  3. Um sicher alle Berechtigungen zu erhalten, muss als Scope eingetragen werden: openid email https://graph.microsoft.com/user.read
  4. Festlegen eines optionalen Anspruchs für die registrierte Azure AD-App zum Zugriff auf userPrincipalName
  5. Zeile 265 der Controller.php unterhalb von LoginOIDC im plugins-Ordner anpassen in $this->signupUser($settings, $providerUserId, $result->userPrincipalName);