Projet

Général

Profil

Development #7769

récup de la liste des sp "pertinents" depuis authentic

Ajouté par Frédéric Péters il y a presque 9 ans. Mis à jour il y a presque 5 ans.

Statut:
Fermé
Priorité:
Normal
Assigné à:
Catégorie:
-
Version cible:
-
Début:
03 juillet 2015
Echéance:
% réalisé:

0%

Temps estimé:
Patch proposed:
Oui
Planning:
Non
Club:
Non

Description

Il faudrait un jsonp côté authentic qui retourne la liste des applications pour lesquelles l'utilisateur courant a au moins un rôle posé; ça permettrait ainsi de construire le menu latéral en interrogeant uniquement les SP qui ont une chance d'avoir à une entrée à ajouter au menu.


Fichiers


Demandes liées

Lié à Authentic 2 - Bug #7806: Add a user API endpointFermé08 juillet 2015

Actions

Historique

#1

Mis à jour par Benjamin Dauvergne il y a presque 9 ans

  • Assigné à mis à Benjamin Dauvergne

Échange avec fred:

Fred Peters 10:56:34
yo benj, tu penses quoi de https://dev.entrouvert.org/issues/7769 ?
10:58:43
toujours la même remarque sur le jsonp mais oui, par contre c'est embêtant si je renvois la liste de tous les services avec éventuellement une liste de rôles vides ?
Fred Peters 11:00:48
je ne pense pas, non; par contre j'étais parti sur l'idée qu'on matcherait les services en utilisant leur saml metadata url mais en fait ça peut juste être leur slug.
11:01:27
de toute façon j'essaierai de renvoyer un max d'information en mettant un to_json() sur l'objet Service de base puis aussi sur LibertyProvider { 'name': , 'slug': , 'metadata_url':, 'roles': [...], etc..}
Fred Peters 11:02:32
ça me semble ok.
11:03:39
quand je vais m'attaquer à la gestion des accès coté idp pour les services je vais ajouter une checkbox "Ouvert à tous" à l'objet Service qui provoquera la création d'un rôle "Accès", si on a pas ce rôle le service ne sera pas renvoyé dans le jsonp, comme ça on couvrira tous les cas
Fred Peters 11:04:45
ça marche

#2

Mis à jour par Benjamin Dauvergne il y a presque 9 ans

Une première implémentation, qui fournit du JSONP ou du JSON avec check Referer ou CORS.

Les deux premiers patchs sont des ajouts au décorateur de cache pour mettre en cache la validation des origines.
Le dernier contient l'implémentation d'un décorateur json équivalent de to_json de passerelle, d'un système d'autorisation des origines basés sur les sessions SAML (l'origine de l'entity ID d'un provider avec une session en cours doit matcher l'origine ou le referer de la requête), et une vue user_info/ basé sur des méthodes to_json() ajouté aux classes User, Role et Service.

#3

Mis à jour par Thomas Noël il y a presque 9 ans

Si le format json sorti semble gérable par Fred, le reste du code est ok pour moi.

Peut-être le test du cache à remettre dans le patch 1 ?

#4

Mis à jour par Frédéric Péters il y a presque 9 ans

Fonctionnellement pour moi ça marche (patch au publik.js attaché, testé et validé avec les patchs authentic appliqués en local).

#5

Mis à jour par Benjamin Dauvergne il y a presque 9 ans

Yep je vais redécouper les patchs avant commit, je voulais juste valider le JSON avec vous, je vais aussi appliquer le décorateur json sur la vue menu_json du manage. Je vais certainement aussi ajouter une variable A2_CORS_WHITELIST au cas où, dans l'urgence ça dépanne.

#7

Mis à jour par Benjamin Dauvergne il y a presque 9 ans

  • Lié à Bug #7806: Add a user API endpoint ajouté
#8

Mis à jour par Frédéric Péters il y a presque 9 ans

Patch côté combo (qui par rapport au précédent retire un console.log()).

#9

Mis à jour par Benjamin Dauvergne il y a presque 9 ans

Ack.

#10

Mis à jour par Frédéric Péters il y a presque 9 ans

  • Statut changé de Nouveau à Résolu (à déployer)
commit b98bedebecae37ac04ce679aa9821d1c03f5f96b
Author: Frédéric Péters <fpeters@entrouvert.com>
Date:   Wed Jul 8 09:13:27 2015 +0200

    publik: look deeper for relevant wcs instance (#7769)

    If there are several instances of wcs deployed (which is typical of a
    multi-collectivity deployment) we ask authentic for user details so we
    know where the user has been given roles, we can then get the relevant
    wcs.
#11

Mis à jour par Serghei Mihai il y a presque 9 ans

  • Statut changé de Résolu (à déployer) à En cours

A regarder les commits dans authentic, l'url pour récuperer les infos utilisateur est /api/user/ et non /user_info/

#12

Mis à jour par Frédéric Péters il y a presque 9 ans

  • Statut changé de En cours à Résolu (à déployer)

Merci Serghei pour l'attention; Benjamin, étant donné que les commits dans authentic se font sans temps de relecture, sur ce genre de différence, touchant du code déjà écrit, ça serait cool d'avoir une notification.

commit b10e33501646569b67a12ca281d320ce852ba26a
Author: Frédéric Péters <fpeters@entrouvert.com>
Date:   Thu Jul 16 09:59:22 2015 +0200

    publik: adapt to change in authentic user api endpoint url (#7769)
#13

Mis à jour par Benjamin Dauvergne il y a presque 9 ans

Yep désolé, au dernier moment je me suis dit que j'allais grouper ça avec les autres points de web service, ce sera toujours dans /api/ maintenant.

#15

Mis à jour par Frédéric Péters il y a presque 5 ans

  • Statut changé de Résolu (à déployer) à Fermé

Formats disponibles : Atom PDF