esup-multi

Arborescence des pages

Vous regardez une version antérieure (v. /wiki/spaces/ESUPMULTI/pages/1412988949/Fonctionnement+de+l+authentification) de cette page.

afficher les différences afficher l'historique de la page

« Afficher la version précédente Vous regardez la version actuelle de cette page. (v. 2) afficher la version suivante »

Séquence d'authentification

  • Le couple login/mot-de-passe est transféré au CAS. La suite du processus se poursuit uniquement en cas d’authentification réalisée avec succès.

  • Le CAS renvoie un token d’authentification (TGT).

  • Le backend multi récupère le profil de l’utilisateur associé à son login. Un profil d’utilisateur contient la liste des différentes informations de l’utilisateur (nom, prénom, etc…) ainsi que les rôles dont il dispose.

  • L’ensemble token, login et roles (issus du profil utilisateur) sont stockés dans une base mongo.

  • Le token ainsi que le profil utilisateur est renvoyé en réponse à l’application mobile qui stockera le premier dans le “secure storage” et le second dans le cache de l’application (indexedDB).

Accès à une ressource protégée une fois authentifié

Dès lors que l’on souhaite accéder à une ressource protégée (souvent une API), le déroulement est le suivant :

  • L’application mobile récupère le token préalablement stocké dans le “secure storage” afin de l’envoyer dans la requête au serveur MULTI.

  • Le serveur récupère dans Mongo le login ainsi que les roles de l’utilisateur associé à ce token.

  • Optionnellement des vérifications de droits liées au rôles de l’utilisateur peuvent avoir lieu.

  • Le login est ensuite envoyé à la ressource protégée pour récupérer les informations propres à l’utilisateur connecté (exemple: API de récupération des cartes d'étudiant).

  • Pour finir, la réponse est envoyée à l’application mobile.

À noter

  • Le stockage du trio token, login et roles en base Mongo permet au backend de récupérer le login ou les roles depuis le token fournit par l’utilisateur. Cela permet de consolider la sécurité en évitant qu’un utilisateur malveillant ne manipule son login ou la liste de ses rôles.

  • Lorsque on enregistre un trio token, login et roles en base Mongo une date-heure est mise à jour pour l’entrée concernée. Cela permet de nettoyer à terme les entrées considérées comme inactives depuis trop longtemps (c’est configurable mais idéalement le temps d’expiration du token TGT).

  • Aucune étiquette