Problème de credential avec une API

Bonjour,

J’ai créé une API en utilisant un objet externe qui hérite de RESTServiceExternalObject.
Cet objet est habilité à un utilisateur “Web services only”. Quand je teste un GET avec l’interface de test de Simplicité, le login fonctionne comme attendu avec erreur si le mot de passe de mon utilisateur est erroné. Par contre en CURL, ma requête passe quel que soit le mot de passe (même vide). Par contre j’ai bien une erreur si je n’ai pas le bon nom d’utilisateur.

Comment faire en sorte de sécuriser la connexion ?

Merci !
Emmanuelle

Version=4.0.P25
BuiltOn=2021-12-22 23:20 (revision f67a357ce5c6322b35b751aab7d68c776dbefbe1)

Un appel sur /api nécessite des credentials = un token obtenu sur /api/login en passant son login/password en basic auth.

En 4.0 il me semble qu’il était malgré tout possible d’appeler des services directement en passant un login/password en basic auth mais c’était une “encapusaltion” du mécanisme à base de token. Il y a peut être des cas d’usage où une première authentification réussie dans ce mode “persiste” jusqu’à un logout explicite ou expiration du token implicitement obtenu ou dans le genre. Il faudrait m’indiquer précisément la séquence d’appels curl.

En tout cas ça n’existe plus en version 5 où il faut nécessairement passer par un token = seul /api/login accepte un login+password, tous les autres appels en /api/* devant impérativement se faire avec un token.

Qques test en 4.0 :

  1. Test en mode nominal (i.e. avec utilisation de token)

NB: Avec un token inconnu l’accès est bien interdit dans tous les cas

  1. Test avec login/password sans passer par le login explicite (i.e. le mode “encapsulé” qui n’existe plus en version 5):

Il y a effectivement un comportement qui n’est pas idéal = quand un appel avec un password erroné est fait après un appel avec password OK ça passe encore (jusqu’au logout explicite) car il y a un token implicite lié au login qui est utilisé.

On va voir si c’est possible d’améliorer ce cas là mais de toute façon dans la perspective d’un upgrade à terme en version 5 vous devriez de toute façon basculer en mode nominal (qui est le seul mode possible en version 5) = appel des services avec un token obtenu via /api/login

Le mécanisme incriminé de la version 4.0 a été renforcé.

Comme indiqué dans mes précédentes réponses, utiliser un login/password pour appeler des service API reste malgré tout une mauvaise pratique incompatible avec la version 5.

This topic was automatically closed 30 days after the last reply. New replies are no longer allowed.