Projet

Général

Profil

Development #24411

API: dans /api/user/ servir la date de la connexion précédente à la connexion en cours

Ajouté par Benjamin Dauvergne il y a 9 mois. Mis à jour il y a 7 mois.

Statut:
Solution proposée
Priorité:
Normal
Assigné à:
Catégorie:
-
Version cible:
-
Début:
10 juin 2018
Echéance:
% réalisé:

0%

Patch proposed:
Oui

Description

La donnée est conservée dans request.session[constants.LAST_LOGIN_SESSION_KEY] sous forme d'une chaîne formatée selon la locale courante, il faudrait simplement servir cela.

lastlogin_users_api.png Voir (52,4 ko) Paul Marillonnet, 08 août 2018 11:36

0001-last-login-date-in-user-api-24411.patch Voir (2,1 ko) Paul Marillonnet, 30 août 2018 18:20

27004

Demandes liées

Lié à Authentic 2 - Development #25624: API: dans /api/users/xxxx/ servir la date de dernière connexion des usagers Nouveau 09 août 2018
Lié à Authentic 2 - Development #23494: Écran reprenant les connexions d'un utilisateur Nouveau 29 avr. 2018

Historique

#1 Mis à jour par Frédéric Péters il y a 9 mois

Mais il me semble que cette API est juste ok pour l'utilisateur courant, et dans la pratique seulement utilisable en jsonp. J'aimerais avoir l'information dans /api/users/<xxx>/, ça serait notamment utile pour être repris sur la fiche usager sur le portail agent/guichet.

(bien sûr pas moyen de se baser sur la session, il faudrait sans doute tirer l'information du journal des actions de l'utilisateur (#20695?)).

#2 Mis à jour par Benjamin Dauvergne il y a 9 mois

J'ai deux approches, soit on conserve le fonctionnement actuel et donc c'est stocké en session et c'est accessible juste en JSONP et ça ne charge pas la base.

Soit on va directement vers une cellule mes dernières connexions à la Facebook/Google avec IP et geoloc, plate-forme, visible dans une page de profil et on affiche plus d'information dernière connexion qui n'est pas très utile en général. Je vois d'un mauvais oeuil un appel à a2 avec requêtage d'une table de log pour en obtenir l'avant dernière ligne à chaque requête vers combo.

Question subsidaire: est-ce qu'on a une cellule JSONP dans combo ? (j'ai l'impression que ça obligerait à avoir du templating Django coté navigateur, je sais que c'est inspiré de moustache mais je ne sais pas si existe un moteur moustache qui aurait une syntaxe quasi identique à celle de Django).

#3 Mis à jour par Frédéric Péters il y a 9 mois

Soit on va directement vers une cellule mes dernières connexions à la Facebook/Google avec IP et geoloc, plate-forme, visible dans une page de profil et on affiche plus d'information dernière connexion qui n'est pas très utile en général. Je vois d'un mauvais oeuil un appel à a2 avec requêtage d'une table de log pour en obtenir l'avant dernière ligne à chaque requête vers combo.

Je suis un peu perdu ici; en pratique aujourd'hui l'information est uniquement affichée dans le backoffice d'Authentic. Il y a de manière temporaire et pour montrer que c'était possible reprise de cette info (aujourd'hui incorrecte) sur la plateforme de démonstration mais personne n'a soulevé l'idée d'avoir ça repris sur toutes les pages. La seule vraie demande que je mentionne, c'est dans la perspective de l'affichage d'une fiche usager dans le portail agent/guichet, que l'info puisse être reprise. (mais ce n'est pas "à chaque requête vers combo").

est-ce qu'on a une cellule JSONP dans combo ?

Non.

#4 Mis à jour par Benjamin Dauvergne il y a 9 mois

Frédéric Péters a écrit :

Soit on va directement vers une cellule mes dernières connexions à la Facebook/Google avec IP et geoloc, plate-forme, visible dans une page de profil et on affiche plus d'information dernière connexion qui n'est pas très utile en général. Je vois d'un mauvais oeuil un appel à a2 avec requêtage d'une table de log pour en obtenir l'avant dernière ligne à chaque requête vers combo.

Je suis un peu perdu ici; en pratique aujourd'hui l'information est uniquement affichée dans le backoffice d'Authentic.

Pardon, je me suis référé à ton mail de dimanche 10 juin à 10:37:

Tu peux créer une cellule JSON et mettre comme URL
https://connexion-.../api/users/[user_nameid]/
(malheureusement le nom de domaine ne peut pas être tiré d'une
variable).

Et comme contenu {% load combo %}{{json.last_login|parse_datetime}}

Je viens de te mettre ça en bas de colonne latérale ici :
https://portail-citoyen-publik.entrouvert.com/manage/pages/1/

J'ai pris ce qui n'était qu'une démonstration pour un début d'usage.

Il y a de manière temporaire et pour montrer que c'était possible reprise de cette info (aujourd'hui incorrecte) sur la plateforme de démonstration mais personne n'a soulevé l'idée d'avoir ça repris sur toutes les pages. La seule vraie demande que je mentionne, c'est dans la perspective de l'affichage d'une fiche usager dans le portail agent/guichet, que l'info puisse être reprise. (mais ce n'est pas "à chaque requête vers combo").

Dans ce cas effectivement je pencherai plus pour ajouter à l'option "full" de l'API user ce qu'on peut avoir comme informations de connexions.

#5 Mis à jour par Paul Marillonnet il y a 8 mois

  • Assigné à mis à Paul Marillonnet

On est d'accord qu'on parle bien de /api/users/1234/ et non pas (seulement) /api/user/ ?

#6 Mis à jour par Paul Marillonnet il y a 8 mois

27004

Pour ce qui est de /api/users/xxxx/ il y a déjà quelque chose en place, non ?
(cf la capture, le champ last_login renvoyé dans le payload JSON).

#7 Mis à jour par Frédéric Péters il y a 8 mois

Il me semble que le propos de Benjamin était que cette information last_login est en fait l'heure de la session actuelle, pas la précédente.

Mais surtout il me semble nécessaire de reprendre le besoin que j'exprime, qui ne correspond pas tellement à l'intitulé, qui demande peut-être qu'on rejette ce ticket pour en créer un autre.

J'écrivais donc :

(...) dans la perspective de l'affichage d'une fiche usager dans le portail agent/guichet, que l'info puisse être reprise.

Contexte, un agent va sur la fiche d'un usager affichée par combo (contexte nouveau portail agent/guichet) et de cette fiche il y a appel à /api/users/<uuid de l'utilisateur pas de l'agent actuellement connecté>/ pour communiquer à l'agent cette information. (et l'agent de dire "je ne vois pas de connexion à la plateforme hier, sans doute que vous avez créé votre demande sans être authentifié et c'est pour ça qu'elle n'apparait pas dans votre tableau de bord").

#8 Mis à jour par Mikaël Ates il y a 7 mois

  • Lié à Development #25624: API: dans /api/users/xxxx/ servir la date de dernière connexion des usagers ajouté

#9 Mis à jour par Mikaël Ates il y a 7 mois

Est-ce que cela aurait du sens d'au passage prévoir de servir via l'API l'historique des connexions de l'usager, voir l'historique de toutes les actions sur le comptes, relativement à https://dev.entrouvert.org/issues/23494#note-10.

#10 Mis à jour par Mikaël Ates il y a 7 mois

#11 Mis à jour par Paul Marillonnet il y a 7 mois

Et donc, comme on s'y attendait, il faut d'abord #24401.
Mais dans l'idée, je verrais bien ça.

Formats disponibles : Atom PDF