Le site Web de WooCommerce ne transmet pas les informations d’en-tête d’authentification basique et ne permet pas les connexions avec l’API de Retail POS (X-Series)

Problème

Si la clé consommateur ou l’en-tête d’authentification sont invalides, l’erreur ci-dessous s’affichera et vous aurez des problèmes pour établir la connexion entre Retail POS et WooCommerce.

Il arrive parfois que certains serveurs ne déterminent pas correctement l’en-tête d’authentification. Si une erreur « Consumer key is invalid/missing » (la clé consommateur n’est pas valide ou est manquante) s’affiche lors de l’authentification via SSL, cela signifie que vous avez un problème avec votre serveur.

Screen_Shot_2019-10-04_at_1.52.35_PM.png

Configuration

  • Retail POS pour PC et Mac
  • Intégration de WooCommerce

Cause

L’en-tête d’authentification que votre serveur Web (Apache, par exemple) reçoit dans la requête ne renseigne pas la variable PHP $_SERVER['HTTP_AUTHORIZATION'] utilisée pour renseigner les variables $_SERVER['PHP_AUTH_USER'] et $_SERVER['PHP_AUTH_PW']. Ces deux variables sont utilisées par WooCommerce pour l’authentification basique.

Lorsque les variables sont manquantes, il en résulte une erreur 401 ainsi que le message d’erreur « Consumer secret is invalid » (le secret consommateur n’est pas valide) ou « Unauthorized » (non autorisé), même si les informations d’identification sont correctes.

Vous pouvez envisager d’utiliser le protocole OAuth 1.0a, mais comme nous l’avons vu plus haut, cela peut être pénible à configurer. La deuxième solution la plus évidente consiste à effectuer une authentification basique en incluant les informations d’identification dans l’URL à l’aide des paramètres de requête GET, mais ce n’est pas très sécurisé, même via le protocole HTTPS, et nous ne le recommandons pas.

Solution

La solution qui, selon nos tests, fonctionne la plupart du temps est d’apporter une modification simple au fichier .htaccess de WordPress.

Screen_Shot_2019-10-04_at_1.52.41_PM.png

Veillez à précisément inclure E=HTTP_AUTHORIZATION:%{HTTP:Authorization} dans le premier [L]. Pour référence, les fichiers .htaccess par défaut de WordPress se trouvent ici.

Renseignements supplémentaires

Il est préférable de communiquer avec un développeur ou votre fournisseur d’hébergement web pour qu’il vous aide à résoudre ce problème.

Pour plus d’informations, consultez les articles suivants :

Avons-nous répondu à votre question?
Vous avez d’autres questions? Contactez-nous pour que nous puissions vous aider.