Fonctionnement de MGLogin dans l'api¶
Pour les règles métiers, voir le document dédié.
La configuration de l'authentification MGLogin se fait via des variables d'environnement dont les valeurs de production sont récupérées via le manifeste stocké sur le QG.
Synchronisation¶
Pour que les utilisateurs de MGLogin puissent utiliser l'application, ils doivent être importés dans la table utilisateur. Cette opération se fait via la commande bin/console synchroniser-mglogin.
Les utilisateurs venant de MGLogin stockés dans notre base contiennent l'attribut estMglogin positionné à true
Fonctionnement de MGLogin¶
Les étapes d'authentification sont les suivantes :
- Le front office appelle le formulaire de login de MgLogin
- MgLogin renvoie au front un
authorization codevia l'url de callback paramétrée dans keycloak pour le clientId front concerné - Le front appelle le endpoint de login de Mgx avec l'
authorization codeet les clefs login et password à vide - L'api Mgx appelle MgLogin avec l'Authorization code pour obtenir un
access token - S'il l'obtient, il utilise l'identifiant de l'utilisateur (en décryptant l'accesstoken) pour loguer l'utilisateur dans mgx, sinon il lève une exception (403)
- L'api Mgx vérifie que l'utilisateur a bien le flag
estMgLoginpositionné àtrue, sinon elle lève une exception 403 - L'api Mgx crée son JwtToken (comme pour une authentification "classique") et le renvoie au front