WooCommerce : sources possibles des erreurs 401

Maxime

Modifié le : Mer, 4 Nov., 2020 at 5:56 H

Avec WooCommerce, E-connecteur vous indique que l'accès au webservice est interdit. Le code HTTP d'erreur associé est 401.

Cette erreur peut être reproduite avec un utilitaire HTTP tel que Postman ou Insomnia. E-connecteur utilise l'API REST v3. Si vous activez dans la configuration E-connecteur, l'option "Legacy", alors la version de l'API REST utilisée est la "Legacy v2". Ce mode n'est pas recommandé.


Il est nécessaire, pour utiliser E-connecteur, d'avoir une API REST de WooCommerce fonctionnelle. Voici les points à vérifier :


Configuration de WooCommerce

  1. Avez vous bien respecté la procédure d'activation, y compris la configuration des permaliens ? Vous pouvez vérifier cela ici.
  2. Avez vous généré la clé pour un utilisateur qui a les droits de lecture et d'écriture sans limitation ?
  3. Avez vous copié-collé la clé ? C'est une étape triviale, mais un caractère en plus ou en moins causerait aussi cette erreur, il convient de vérifier.
  4. HTTPS devrait être utilisé et pas HTTP.
  5. Vérifiez que tous vos modules soient à jour.


Configuration du serveur web

  1. Vérifiez que la configuration du serveur web est conforme. C'est souvent le cas avec NGinx et parfois avec Apache, si vous n'avez pas la configuration adéquate. Vous pouvez consulter ces posts à ce sujet, le transfert de l'authentification HTTP est mis en cause (plus exactement l'absence de transfert dans certains cas) : 
  2. Des modules de sécurité, comme mod_security peuvent bloquer certaines requêtes par excès de zèle. Voir cette note.
  3. Vérifiez qu'aucun user agent n'est bloqué.

Si vous avez des soucis liés à l'hébergement, des hébergeurs spécialisés WordPress peuvent vous apporter des solutions, comme WB2 (contact@wb2.fr - 04 67 17 13 73 ).


Notez que si vous ne pouvez pas modifier la configuration de votre serveur web pour transmettre l'authentification HTTP, vous pouvez cocher cette case dans la configuration E-connecteur "Authentication HTTP inactive".

Attention, même si c'est une méthode officielle de WooCommerce, nous ne la recommandons pas pour des raisons de sécurité car votre paire de clé de connexion transitent en clair et pourrait être interceptée par un tiers. Cette possibilité est disponible à partir de la version E-connecteur 6.3.135.



Modules tiers

Certains modules peuvent modifier de manière significative le fonctionnement de WooCommerce et de son API REST. Voici quelques cas recensés :

  • Tous les modules pouvant faire des optimisations sont susceptibles, comme dans le paragraphe sur les serveurs web, de supprimer le transfert de l'authentification HTTP. Par exemple, WP Supercache ou WP Rocket (liste non exhaustive).
  • Vérifiez qu'aucun user agent n'est bloqué. Des outils comme Cloudflare ou n'importe quel autre pare-feu applicatif (comme SNORT), ou des modules peuvent le faire (exemple : WordPress Pingback DDos Attacks).
  • D'autres modules, modifiant l'authentification peuvent altérer l'authentification (exemple : Force Login)


Comment tester l'API REST de WooCommerce ?

Vous pouvez en premier lieu, lancer une synchronisation avec E-connecteur. Si en tant que développeur vous souhaitez tester plus rapidement, vous pouvez utiliser des logiciels comme Postman ou Insomnia pour créer des requêtes HTTP. Vous pouvez également utiliser cet outil en ligne de commande PHP.

Cet article a-t-il été utile ?

C'est super !

Merci pour votre commentaire

Désolé ! Nous n'avons pas pu vous être utile

Merci pour votre commentaire

Dites-nous comment nous pouvons améliorer cet article !

Sélectionner au moins l'une des raisons

Commentaires envoyés

Nous apprécions vos efforts et nous allons corriger l'article