Projet

Général

Profil

Development #20624

Permettre l'accès http/auth à la plupart des API

Ajouté par Frédéric Péters il y a plus de 6 ans. Mis à jour il y a presque 3 ans.

Statut:
Fermé
Priorité:
Normal
Assigné à:
Version cible:
-
Début:
12 décembre 2017
Echéance:
% réalisé:

0%

Temps estimé:
Patch proposed:
Oui
Planning:
Non

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

Lié à w.c.s. - Bug #26604: accéder au triggers avec une authentification http basicRejeté21 septembre 2018

Actions
Lié à w.c.s. - Development #16792: accès avec auth http aux API (?)Fermé09 juin 2017

Actions
Lié à w.c.s. - Development #56908: auth http basic pour l'API /api/users/<uuid>/formsFermé13 septembre 2021

Actions
Lié à w.c.s. - Development #55858: auth http basic pour l'API de création de demandeFermé27 juillet 2021

Actions
Lié à w.c.s. - Development #56690: /api/formdefs/ inacessible aux utilisateurs API HTTP-BasicFermé06 septembre 2021

Actions
Dupliqué par w.c.s. - Development #52962: Généraliser l'accès aux API par l'authentication Basic HTTPRejeté12 avril 2021

Actions

Révisions associées

Révision d27d92dc (diff)
Ajouté par Frédéric Péters il y a presque 3 ans

api: accept HTTP Basic authentication scheme for API accesses (#20624)

Historique

#2

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é
#3

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

#4

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é
#5

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

Qui vient après #48752 (paramétrage de rôles d'accès); tests pour obtenir une liste de fiche et appeler un trigger.

#6

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

  • Assigné à mis à Frédéric Péters
#7

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() » ?

#8

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.

#10

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é.

#11

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)
#12

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
#13

Mis à jour par Mikaël Ates (de retour le 29 avril) il y a plus de 2 ans

#14

Mis à jour par Mikaël Ates (de retour le 29 avril) il y a plus de 2 ans

#15

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é

Formats disponibles : Atom PDF