Woocommerce : invalid timestamp / nonce invalide

Maxime

Modifié le : Mer, 16 Nov., 2016 à 11:21 H

Dans certains contextes d'utilisation, vous pouvez avoir un message dans E-connecteur, fourni par Woocommerce qui indique que le timestamp est invalide (Invalid timestamp) et/ou que le nonce a déjà été utilisé (Invalid nonce - nonce has already been used).


Woocommerce utilisant une authentification OAuth basée sur la date et l'heure + un jeton unique, il se peut que si le poste où est installé E-connecteur fourni une heure trop différente du serveur web induisant un rejet de l'authentification par Woocommerce.

La meilleure solution reste de synchroniser les heures entre le poste de travail et le serveur web, mais cela n'est pas toujours possible à faire.

Il faut donc dans ce cas modifier le système d'authentification de Woocommerce dans le fichier wp-content/plugins/woocommerce/includes/api/v2/class-wc-api-authentication.php, méthode check_oauth_timestamp_and_nonce.


Votre agence web pourra vous proposer une méthode de sécurisation des échanges adaptées à votre utilisation, votre serveur, vos conditions d'exploitation.


Une manière de modifier le code, est de commenter la ligne 157 :

$this->check_oauth_timestamp_and_nonce( $keys, $params['oauth_timestamp'], $params['oauth_nonce'] );


en mettant

//$this->check_oauth_timestamp_and_nonce( $keys, $params['oauth_timestamp'], $params['oauth_nonce'] );


En l'état, la sécurisation des échanges reste assurées par la signature des échanges. Si vous souhaitez conserver continuer à vérifier l'heure et le jeton, vous pouvez n’appeler cette méthode que si la requête émane d'une IP peu sûre par exemple.

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