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 2020-04-08 17:53:17

arnaudluti
Member
Registered: 2017-03-31
Posts: 15

Erreur 401 - Utilisation de l'API en PowerShell avec GLPITools

Bonjour à tous,

Je fais mes premiers pas et tente d'utiliser l'API de GLPI via un module PowerShell "GlpiTools" créé par un tiers, et qui semble très prometteur.
J'ai suivi les (maigres) instructions, qui apparemment sont censées être relativement simples, et je me heurte d'entrée à un problème.

La moindre requête me renvoie une erreur 401. J'ai pourtant bien configuré les paramètres suivants:

Configuration générale > API :
- URL de l'API : https://glpiserver/glpi/apirest.php
- Activer l'API Rest :  Oui / Activer la connexion avec jeton externe: Oui
- Full Access from localhost : Actif Oui, range ipv4 et ipv6 vides. (pour test...)

J'utilise la commande Set-GlpiToolsConfig, en renseignant les 3 paramètres essentiels:
Fournissez des valeurs pour les paramètres suivants :
AppToken: token d'API récupéré dans l'accès API "full access from localhost"
UserToken:  token d'API récupéré dans les préférences de mon utilisateur)
PathToGlpi: https://glpiserver/glpi/apirest.php

Si j'exécute une commande GET, voici ce qu'on me retourne:

Invoke-RestMethod :401 Unauthorized

This server could not verify that you are authorized to access the document requested.  Either you supplied the wrong credentials (e.g., bad password), or your browser doesn't understand how to supply the credentials required. Apache/2.4.38 (Debian) Server at glpiserver Port 443
Au caractère Ligne:40 : 24
+         $InitSession = Invoke-RestMethod @params
+                        ~~~~~~~~~~~~~~~~~~~~~~~~~
    + CategoryInfo          : InvalidOperation : (System.Net.HttpWebRequest:HttpWebRequest) [Invoke-RestMethod], WebEx
   ception
    + FullyQualifiedErrorId : WebCmdletWebResponseException,Microsoft.PowerShell.Commands.InvokeRestMethodCommand

Dans un navigateur, si je rentre l'URL "https://glpiserver/glpi/apirest.php", je tombe sur la page de documentation "GLPI REST API."
Si je rentre l'URL "https://glpiserver/glpi/apirest.php/initSession", j'ai ce message (normal), qui semble donc dire que ce n'est pas un problème de redirection/rewrite d'URL:

["ERROR_APP_TOKEN_PARAMETERS_MISSING","le paramètre app_token est manquant; Afficher la documentation dans votre navigateur à https://glpiserver/glpi/apirest.php/#ERROR_APP_TOKEN_PARAMETERS_MISSING"]

Mes compétences en web sont vraiment limitées, désolé ne pas fournir plus de debug...
Auriez-vous une idée?

Merci beaucoup d'avance,
Arnaud

Last edited by arnaudluti (2020-04-08 17:55:24)

Offline

#2 2020-04-09 10:39:19

arnaudluti
Member
Registered: 2017-03-31
Posts: 15

Re: Erreur 401 - Utilisation de l'API en PowerShell avec GLPITools

Problème résolu...

Nous utilisons du SSO en production pour s'authentifier sur GLPI avec nos comptes LDAP.
Ceci faisait conflit avec la méthode d'authentification par jetons utilisée par l'API.

Modifier la configuration d'Apache...

<Location /glpi/apirest.php>
        Require All Granted
</Location>

Offline

Board footer

Powered by FluxBB