2017-09-13 4 views
3

J'essaie d'utiliser cookie authentication pour l'accès à l'API WordPress REST à l'aide de Fetch API, mais l'authentification échoue avec l'erreur suivante.Authentification API REST WordPress avec Fetch

403: Cookie est invalide Nonce

J'utilise le script suivant pour se connecter à l'API.

const headers = new Headers({ 
    'Content-Type': 'application/json', 
    'X-WP-Nonce': WPAPI.nonce 
}); 

fetch(WPAPI.root + 'my-endpoint/upload/', { 
    method: 'POST', 
    headers: headers, 
    body: JSON.stringify(data) 
}) 

Lorsque je passe d'utiliser Fetch pour XMLHttpRequest cela fonctionne comme prévu. Y a-t-il un problème avec la façon dont les en-têtes sont envoyés dans la méthode Fetch?

Répondre

1

L'authentification WordPress nonce nécessite l'utilisation de cookies et par défaut Fetch n'envoie pas ceux-ci. Vous pouvez utiliser l'option d'informations d'identification pour faire ce travail:

fetch(endpoint, { 
    credentials: 'same-origin' 
}) 

https://github.com/github/fetch#sending-cookies