You are not logged in.

Announcement

 Téléchargez la dernière version stable de GLPI      -     Et vous, que pouvez vous faire pour le projet GLPI ? :  Contribuer
 Download last stable version of GLPI                      -     What can you do for GLPI ? :  Contribute

#1 2018-12-20 16:25:38

Jean-Christophe
Moderator
Registered: 2007-08-22
Posts: 332

Lenteur à la connexion avec user_token

Hello,

J'ai développé un petit module Powershell pour interagir avec l'API de GLPI.

Si je me connecte avec user_token, la requête d'initialisation de la session (pour récupérer le Session Token) prends deux minutes et dix secondes (à tous les coups).
Si je me connecte avec un user/mdp en Base64, c'est instantané.

Il n'y a que la création du Session Token qui est lent, tout le reste est instantané.
J'ai essayé avec deux users différents, le problème est identique.

Si vous aviez une idée, je vous en serais très reconnaissant :-)



PS : Pour ceux que ça intéresse, quand mon module powershell sera terminé, je le partagerai :-)

Offline

#2 2019-01-25 12:27:11

Jean-Christophe
Moderator
Registered: 2007-08-22
Posts: 332

Re: Lenteur à la connexion avec user_token

Est-ce que je suis le seul à rencontrer ce problème?

Offline

#3 2019-04-23 13:48:55

Jean-Christophe
Moderator
Registered: 2007-08-22
Posts: 332

Re: Lenteur à la connexion avec user_token

Je confirme que le problème est toujours présent en 9.4.2.

Offline

#4 2019-04-23 14:21:00

LaDenrée
HELPER
Registered: 2012-11-19
Posts: 4,602

Re: Lenteur à la connexion avec user_token

Bonjour,

en 9.4.2 si je tente une authentification avec le user_token+app_token  ou login/pw  la réponse est instantanée après mont initsession je récupère le session_token dans les 2 cas. (pourtant mon interface graphique glpi est lente avec 9.4.2 sur le serveur de test)

(c'est une page en php, 
    $url=$_SESSION['api_url'] ."/initSession/";
    $headers = array(
    ('Content-Type: application/json'),
    ('App-Token: ' . $_SESSION['app_token']),
    ('Authorization: user_token '. $usertoken  )
$ch = curl_init();
    curl_setopt($ch, CURLOPT_URL,$url);
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
    curl_setopt($ch, CURLOPT_HTTPHEADER, $headers);
    $json = curl_exec($ch);
    curl_close ($ch);
    $obj = json_decode($json,true);
    curl_close ($ch);
print_r($obj);


    );


Trouver la panne avant de réparer...
*GLPI 9.1.6+fusion9.1+1.1+behaviours1.5.0+reports+fields+appliances+pdf+badges+formcreator2.5.2 PHP7.0 Mariadb10
*GLPI 9.4.3(behaviours2.2.1+fusioninventoty 9.4+1.1+applicatifs2.5.0+fields 1.9.1)hebergé sur serveur mutualisé.

Offline

#5 2019-04-23 15:08:49

Jean-Christophe
Moderator
Registered: 2007-08-22
Posts: 332

Re: Lenteur à la connexion avec user_token

Ici, il y a plus de 2 minutes de différence.

Je fais ça en PowerShell, certes, ce n'est pas le language de prédilection des requêtes HTTP mais bon... Il existe des méthodes de manipulation des API Rest natives.

Si j'avais une erreur, je veux bien comprendre que une méthode fonctionne et pas l'autre (et que je me suis planté quelque part...) mais là, ça fonctionne dans les deux cas. La seule différence est le temps de réaction pour la création du Session Token.
Le plus fort, c'est que je n'ai qu'une ligne de commande pour générer le Session Token. Dedans, je passe la variable AuthorizationType de mon object $Creds (qui contient l'URL, le UserToken, l'AppToken et le AuthorizationType qui peut être "Basic" ou "user_token").

Invoke-RestMethod "$($Creds.AppURL)/initSession" -Headers @{"Content-Type" = "application/json";"Authorization" = "$($Creds.AuthorizationType) $($Creds.UserToken)";"App-Token"=$Creds.AppToken}

Bon. Admettons que je sois le seul à rencontrer le souci.

Pour info, j'essaye depuis un certain de publier mon module PowerShell chez Microsoft pour le rendre accessible à d'autres (sans succès jusqu'ici...)

Offline

#6 2019-04-23 15:22:44

LaDenrée
HELPER
Registered: 2012-11-19
Posts: 4,602

Re: Lenteur à la connexion avec user_token

dans ma syntaxe j'ai "/initSession/"   (avec un/ à la fin) même s'il y a peut de chance que ça vienne de là.
j'ai à priori les même headers ; je ne vois pas ce qui peut clocher, mais je ne connais pas powershell


Trouver la panne avant de réparer...
*GLPI 9.1.6+fusion9.1+1.1+behaviours1.5.0+reports+fields+appliances+pdf+badges+formcreator2.5.2 PHP7.0 Mariadb10
*GLPI 9.4.3(behaviours2.2.1+fusioninventoty 9.4+1.1+applicatifs2.5.0+fields 1.9.1)hebergé sur serveur mutualisé.

Offline

#7 2019-04-23 15:57:27

Jean-Christophe
Moderator
Registered: 2007-08-22
Posts: 332

Re: Lenteur à la connexion avec user_token

Merci pour le retour.

J'ai essayé, par acquis de conscience, en ajoutant le / à la fin de InitSession et ça ne change rien. J'ai toujours le même phénomène.
Il faudrait que j'essaye sur une autre instance mais je n'en ai pas sous la main pour le moment.

Offline

#8 2019-06-03 15:39:37

Dwarkin
Member
Registered: 2019-06-03
Posts: 1

Re: Lenteur à la connexion avec user_token

Je rencontre le même problème avec une page PHP (2.14min pour obtenir un session_token).
Avez-vous trouvé une solution ?


Glpi 9.4.1.1

Offline

#9 2019-06-03 16:24:42

Jean-Christophe
Moderator
Registered: 2007-08-22
Posts: 332

Re: Lenteur à la connexion avec user_token

Non.
J'utilise le Basic token. :-/
Ceci dit, je suis quand même rassuré de voir qu'il n'y a pas que moi qui rencontre ce problème...

Offline

Board footer

Powered by FluxBB