PC SOFT

PROFESSIONAL NEWSGROUPS
WINDEVWEBDEV and WINDEV Mobile

Home → WEBDEV 2024 → WebserviceLitEnteteHttp
WebserviceLitEnteteHttp
Started by Anthony M, Jun., 04 2021 2:39 PM - 1 reply
Posted on June, 04 2021 - 2:39 PM
Bonjour à tous,

J'ai un petit problème avec la fonction WebserviceLitEnteteHttp()
J'ai déployé mon WebService sur 2 serveurs, serveur de dev et serveur de prod.
Le problème que j'ai est que lorsque j'envoie une requête GET avec dans l'entête La balise "Authorization" dans lequel je passe mon token. La fonction ne se comporte pas de la même façon sur les 2 serveurs.
sur le serveur de dev je récupère bien mon token en utilisant :
WebserviceLitEntêteHTTP("Authorization")

Sur le serveur la fonction ne me renvoie rien ;(
J'ai testé la syntaxe avec un index en testant les index de 1 à 10 mais impossible de trouver la balise Authorization avec mon Token. Si quelqu'un a une idée de pourquoi je ne vois pas toutes mes balises sur mon 2ème serveur.

La version des 2 serveurs d'application est la même par contre sur le serveur de dev je suis sur IIS alors que pour le serveur de prod j'utilise Apache 2.4
Registered member
395 messages
Popularité : +13 (13 votes)
Posted on June, 11 2021 - 10:08 AM
Bonjour,

Par défaut Apache, depuis la 2.4.13, ne transmet pas les en-têtes d'authentification aux scripts CGI "en dessous", dont fait partie WebDev. Il s'agit avant tout d'une mesure de sécurité : dans certains cas (comme l'Authentification "Basic") l'authentification est configurée du côté du serveur web et il n'est pas souhaitable que le script exécuté en connaisse les détails.

Vous devriez pouvoir les réactiver avec la clause "CGIPassAuth On" à mettre dans la configuration Apache ou, si vous n'y avez pas accès, dans un fichier .htaccess situé à côté de votre webservice.

La documentation de la clause : https://httpd.apache.org/docs/2.4/fr/mod/core.html…