IGNF / cartes.gouv.fr

Le portail principal d'accès à la Géoplateforme, son entrepôt et son catalogue
GNU Affero General Public License v3.0
2 stars 0 forks source link

Gérer ses clés d'accès aux services #263

Closed slafayIGN closed 1 month ago

slafayIGN commented 5 months ago

Tous les utilisateurs connectés, même s'ils ne sont membre d'aucune communauté (au sens de l'API Entrepôt) peuvent gérer leurs clés d'accès aux géoservices.

Les interactions possibles avec les clés correspondent à ce qui est décrit dans le tutoriel de gestion des clés en tant que consommateur : https://geoplateforme.github.io/tutoriels/production/controle-des-acces/diffusion/cle/

Ajouter dans la barre de navigation à droite de "Mon compte" un item "Mes clés d'accès".

Cette page doit lister toutes les clés (GET /users/me/keys) de l'utilisateur et permettre :

En première version on part sur un formulaire en 2 étapes : Nom et choix des services en première étape => Points à régler plus tard : une couche peut être accessible via plusieurs permissions et que la liste des couches disponibles peut être potentiellement longue Options de sécurisation en deuxième étape (type et champs dépendants de ce type)

Indépendamment de la liste de ces clés, il faudrait aussi lister toutes les couches par endpoint privé, auxquelles l'utilisateur a accès GET /users/me/permissions (#259) Pour se faire, 2 onglets : mes clés, mes permissions seraient une mise en page appropriée.

Les permissions dont la date de validité est passée doivent apparaitre également mais avec une mention "expirée" et sans action possible à partir de ces permissions.

Les permissions elle-mêmes portent des informations peu parlantes pour les utilisateurs (id, licence), il serait préférable de présenter aux utilisateurs les informations des offres de la permission : layer_name et type (hydrographie ardennes WMS-VECTOR)

slafayIGN commented 4 months ago

L'API ne semble pas avoir implémenté de contraintes de saisies sur les valeurs du hash. On peut saisir des clés d'un seul caractère ou contenant des caractères non compatibles à l'utilisation dans une URL. Un ticket a été remonté (IGNGPF-3503). Ce n'est pas bloquant en soi.

La modification de clé n'est pas non plus active tant que IGNGPF-1768 n'est pas passé en prod (prérequis nécessaire).

Il est quand même possible de tester la création et de vérifier qu'une clé fonctionne. Puis la suppression. Ainsi que le listing des permissions et de faire des suggestions d'amélioration.

slafayIGN commented 4 months ago

En cas de clé déjà utilisée, on aboutit sur une page avec l'erreur seule et un bouton de retour à l'accueil. Une erreur dans le contexte du formulaire ou qui permet d'y revenir serait préférable.

Une autre erreur peu compréhensible quand on essaie de configurer une clé basic aboutit à la même page hors contexte. Message : [1] Each element of this collection should satisfy its own set of constraints. [2] Each element of this collection should satisfy its own set of constraints. Pas d'information visible de quelle collection est concernée ni de quelle contrainte.

slafayIGN commented 1 month ago

En cas de clé déjà utilisée, on aboutit sur une page avec l'erreur seule et un bouton de retour à l'accueil. Une erreur dans le contexte du formulaire ou qui permet d'y revenir serait préférable.

L'erreur est dans le contexte maintenant. Mais il y reste une typo d'accord à la fin du message (sauf que si on ne permet plus de saisir un hash personnalisé, la gestion de cette erreur n'a plus d'utilité)

Une autre erreur peu compréhensible quand on essaie de configurer une clé basic aboutit à la même page hors contexte. Message : [1] Each element of this collection should satisfy its own set of constraints. [2] Each element of this collection should satisfy its own set of constraints. Pas d'information visible de quelle collection est concernée ni de quelle contrainte.

Je ne la reproduis plus en créant des clés Basic.

Des tickets plus spécifiques ayant pris la suite sur le sujet des clés, on peut fermer ce ticket pour plus de clarté.