Projet

Général

Profil

Development #66985

gestion centralisée des accès aux API / Infrastructure minimale pour accès HTTP basic

Ajouté par Emmanuel Cazenave il y a presque 2 ans. Mis à jour il y a plus d'un an.

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

0%

Temps estimé:
Patch proposed:
Oui
Planning:
Non

Description

Un modèle APIClient :

  • identitifiant
  • mot de passe
  • description
  • roles
  • restriction aux données anonymisées

Doit implémenter (ou plutôt utiliser) le système de permissions a2 (pour usage sur API d'authentic).

Une classe d'authentification DRF qui exploite APIClient.

Un endpoint /api/check-api-client/ qui vérifie identifiant/mot de passe et qui renvoi les roles/restriction aux données anonymisées


Fichiers


Demandes liées

Lié à Hobo - Development #67085: Authentification DRF and co pour APIClientFermé06 juillet 2022

Actions
Lié à w.c.s. - Development #68337: Exploitation de APIClientFermé22 août 2022

Actions
Lié à Authentic 2 - Development #68404: Interface pour les clients d'APIFermé24 août 2022

Actions

Révisions associées

Révision ffaf242c (diff)
Ajouté par Emmanuel Cazenave il y a plus d'un an

start APIClient model (#66985)

Révision 82899de8 (diff)
Ajouté par Emmanuel Cazenave il y a plus d'un an

handle APICLient in DRF authentication (#66985)

Révision e89ba4cb (diff)
Ajouté par Emmanuel Cazenave il y a plus d'un an

api: add check-apiclient endpoint (#66985)

Historique

#2

Mis à jour par Emmanuel Cazenave il y a presque 2 ans

0001 : le modèle et le nécessaire et l'implémentation de l'interface de permissions.

Là dessus deux remarques :

  • la nécessité de court-ciruiter complètement les backend qui ne sont pas DjangoRBACBackend. En particulier celui de django ne supporte pas d'avoir autre chose qu'un objet user, ça fait des crash sur des requêtes en DB
  • pour DjangoRBACBackend, il y a eu juste les quelques lignes RoleQuerySet.for_user à changer pour que soit ok.

0002 et 0003 simples.

Je ferai les pages de manage dans un ticket à part.

#3

Mis à jour par Paul Marillonnet il y a presque 2 ans

Juste une petite note au passage avant d’avoir eu le temps de relire : puisqu’ici on touche à django_rbac il faut veiller à tourner l’environnement tox py3-rbac (lequel n’est pas pris dans les builds wip Jenkins).
Là à tourner l’affaire en local j’ai l’impression que ça casse tests_rbac/test_rbac.py::test_massive_role_parenting.

#4

Mis à jour par Paul Marillonnet il y a presque 2 ans

Paul Marillonnet a écrit :

Là à tourner l’affaire en local j’ai l’impression que ça casse tests_rbac/test_rbac.py::test_massive_role_parenting.

Et pourtant bien que OK en local la branche main échoue sur le build nocturne Jenkins, exactement de la même façon, possiblement autre chose que les modifications django_rbac apportées ici.

#6

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

  • Statut changé de Solution proposée à Solution validée
#7

Mis à jour par Frédéric Péters il y a plus d'un an

#8

Mis à jour par Emmanuel Cazenave il y a plus d'un an

  • Statut changé de Solution validée à Résolu (à déployer)
commit e89ba4cbf055f7c9348e9b4e6ce8c714e24a3a2b 
Author: Emmanuel Cazenave <ecazenave@entrouvert.com>
Date:   Thu Jul 7 14:41:33 2022 +0200

    api: add check-apiclient endpoint (#66985)

commit 82899de8f9f80bd1f49673e6581f987b791d7d7f
Author: Emmanuel Cazenave <ecazenave@entrouvert.com>
Date:   Thu Jul 7 14:40:14 2022 +0200

    handle APICLient in DRF authentication (#66985)

commit ffaf242c360a94a878700d756f565c2e6ebb0415
Author: Emmanuel Cazenave <ecazenave@entrouvert.com>
Date:   Thu Jul 7 14:34:45 2022 +0200

    start APIClient model (#66985)
#9

Mis à jour par Transition automatique il y a plus d'un an

  • Statut changé de Résolu (à déployer) à Solution déployée
#10

Mis à jour par Emmanuel Cazenave il y a plus d'un an

#11

Mis à jour par Emmanuel Cazenave il y a plus d'un an

#12

Mis à jour par Transition automatique il y a plus d'un an

Automatic expiration

Formats disponibles : Atom PDF