Development #66985
gestion centralisée des accès aux API / Infrastructure minimale pour accès HTTP basic
0%
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
Révisions associées
handle APICLient in DRF authentication (#66985)
api: add check-apiclient endpoint (#66985)
Historique
Mis à jour par Emmanuel Cazenave il y a presque 2 ans
- Fichier 0001-start-APIClient-model-66985.patch 0001-start-APIClient-model-66985.patch ajouté
- Fichier 0002-handle-APICLient-in-DRF-authentication-66985.patch 0002-handle-APICLient-in-DRF-authentication-66985.patch ajouté
- Fichier 0003-api-add-check-apiclient-endpoint-66985.patch 0003-api-add-check-apiclient-endpoint-66985.patch ajouté
- Statut changé de Nouveau à Solution proposée
- Patch proposed changé de Non à Oui
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.
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
.
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.
Mis à jour par Benjamin Dauvergne il y a presque 2 ans
- Statut changé de Solution proposée à Solution validée
Mis à jour par Frédéric Péters il y a plus d'un an
- Lié à Development #67085: Authentification DRF and co pour APIClient ajouté
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)
Mis à jour par Transition automatique il y a plus d'un an
- Statut changé de Résolu (à déployer) à Solution déployée
Mis à jour par Emmanuel Cazenave il y a plus d'un an
- Lié à Development #68337: Exploitation de APIClient ajouté
Mis à jour par Emmanuel Cazenave il y a plus d'un an
- Lié à Development #68404: Interface pour les clients d'API ajouté
start APIClient model (#66985)