Development #20624
Permettre l'accès http/auth à la plupart des API
0%
Description
On a fait ça pour l'ics (#16792), ça passe par un paramètre api_name à la fonction get_user_from_api_query_string, ça pourrait être utile pour d'autres endpoints.
Fichiers
Demandes liées
Révisions associées
Historique
Mis à jour par Frédéric Péters il y a plus de 5 ans
- Lié à Bug #26604: accéder au triggers avec une authentification http basic ajouté
Mis à jour par Frédéric Péters il y a plus de 5 ans
- Lié à Development #16792: accès avec auth http aux API (?) ajouté
Mis à jour par Frédéric Péters il y a environ 3 ans
- Dupliqué par Development #52962: Généraliser l'accès aux API par l'authentication Basic HTTP ajouté
Mis à jour par Frédéric Péters il y a presque 3 ans
- Fichier 0001-api-accept-HTTP-Basic-authentication-scheme-for-API-.patch 0001-api-accept-HTTP-Basic-authentication-scheme-for-API-.patch ajouté
- Statut changé de Nouveau à Solution proposée
- Patch proposed changé de Non à Oui
- Planning mis à Non
Qui vient après #48752 (paramétrage de rôles d'accès); tests pour obtenir une liste de fiche et appeler un trigger.
Mis à jour par Thomas Noël il y a presque 3 ans
Ca me semble un peu trop simple.
Et assez facile à faire planter, un « curl https://test:test@wcs.../backoffice/ » débouche en crash 500 « 'RestrictedApiUser' object has no attribute 'can_go_in_backoffice' »
Est-ce qu'on pourrait au moins limiter la vérification au cas « if self.is_api_url() » ?
Mis à jour par Frédéric Péters il y a presque 3 ans
Est-ce qu'on pourrait au moins limiter la vérification au cas « if self.is_api_url() » ?
Je pense que non, parce que trigger. Mais je pense tout à fait possible de juste ajouter le nécessaire.
Je viens de mettre un
+ def can_go_in_backoffice(self): + return False
et un test test_backoffice_http_basic_auth pour vérifier que l'accès ainsi ne donne plus une 500.
Mis à jour par Frédéric Péters il y a presque 3 ans
Mis à jour par Thomas Noël il y a presque 3 ans
- Statut changé de Solution proposée à Solution validée
J'aurais préféré une limitation claire aux APIs, mais je ne vois pas comment faire... et ce n'est pas si important. Et si d'autres crashes arrivent on complétera RestrictedApiUser.
Ce patch a en tout cas le mérite de la simplicité.
Mis à jour par Frédéric Péters il y a presque 3 ans
- Statut changé de Solution validée à Résolu (à déployer)
commit d27d92dc4eb53f00574d58488e86466597d9b8c5 Author: Frédéric Péters <fpeters@entrouvert.com> Date: Sun May 2 17:28:09 2021 +0200 api: accept HTTP Basic authentication scheme for API accesses (#20624)
Mis à jour par Frédéric Péters il y a presque 3 ans
- Statut changé de Résolu (à déployer) à Solution déployée
Mis à jour par Mikaël Ates (de retour le 29 avril) il y a plus de 2 ans
- Lié à Development #56908: auth http basic pour l'API /api/users/<uuid>/forms ajouté
Mis à jour par Mikaël Ates (de retour le 29 avril) il y a plus de 2 ans
- Lié à Development #55858: auth http basic pour l'API de création de demande ajouté
Mis à jour par Mikaël Ates (de retour le 29 avril) il y a plus de 2 ans
- Lié à Development #56690: /api/formdefs/ inacessible aux utilisateurs API HTTP-Basic ajouté
api: accept HTTP Basic authentication scheme for API accesses (#20624)