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:
- Ä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
- Das Feld "sub" wird im neuen Endpoint nicht mehr ausgegeben. Daher wird die Userinfo ID jetzt zu "id"
- Um sicher alle Berechtigungen zu erhalten, muss als Scope eingetragen werden:
openid email https://graph.microsoft.com/user.read - Festlegen eines optionalen Anspruchs für die registrierte Azure AD-App zum Zugriff auf userPrincipalName
- Zeile 265 der Controller.php unterhalb von LoginOIDC im plugins-Ordner anpassen in
$this->signupUser($settings, $providerUserId, $result->userPrincipalName);