Services authentification// Access Token

Bonjour,

Pour les appels des WS simplicité, est-il possible de gérer un jeton Bearer pour s’identifier auprès du BE.
Actuellement on passe obligatoirement par une authentification Basic (username & password), et lorsqu’on souhaite utiliser l’access token, j’ai l’erreur suivante :

2018-05-18 09:55:54,851 ERROR [com.simplicite.webapp.servlets.api.RESTServlet] SIMPLICITE|http://c52c163604ac:8080||ERROR|system|com.simplicite.webapp.servlets.api.RESTServlet|getWebServicesFactory||Event: Simplicite authentication error: Invalid token

a010372@FRLH108902 MINGW64 ~ (master)
$ curl -X GET ‘https://bca.dok-re7.intra.renault.fr/api/login?_json=true&username=awdpl01&password=simplicite’ --insecure
% Total % Received % Xferd Average Speed Time Time Time Current
Dload Upload Total Spent Left Speed
100 224 100 224 0 0 224 0 0:00:01 --:–:-- 0:00:01 572{“firstname”:"69229 ",“langiso”:“fr”,“timezone”:“Europe/Paris”,“authtoken”:“z3iBZSBu733pxiCRuLI5fNFm0hGbx2qBmYbT18e4zOlW6PGR3J”,“sessionid”:“6D683F01F0DA73CC78D609F800ADAEB0”,“login”:“awdpl01”,“lang”:“FRA”,“lastname”:“Gdpr”}

a010372@FRLH108902 MINGW64 ~ (master)
$ curl -X GET -b cookies.txt -c cookies.txt ‘https://bca.dok-re7.intra.renault.fr/api/rest/BCSIDataProcess’ -H ‘X-Simplicite-Authorization: Bearer z3iBZSBu733pxiCRuLI5fNFm0hGbx2qBmYbT18e4zOlW6PGR3J’ --insecure
% Total % Received % Xferd Average Speed Time Time Time Current
Dload Upload Total Spent Left Speed
100 43 100 43 0 0 43 0 0:00:01 --:–:-- 0:00:01 161{ “status”: 401, “error”: “Invalid token” }

Quand le paramètre USE_USERTOKEN est à no les tokens sont non persistants au delà de la session il faut alors impérativement faire tous les appels au sein de la même session (i.e. il faut donc repasser le cookie de session JSESSIONID à chaque appel, en curl ça se fait en utilisant comme indiqué dans la doc les flags -b cookies.txt -c cookies.txt)

Quand le paramètre USE_USERTOKEN est à yes les tokens sont persistants au delà de la session (pour une durée configurable en heures avec le paramètre système USERTOKENS_DURATION), il n’est alors pas requis de repasser le cookie de session (une valve Tomcat se charge de retrouver la session associée au token ou d’en recréer une si besoin)

Les 2 modes ont des avantages et des inconvénients mais il faut faire un choix et développer ses appels en conséquence

1 Like