J'essaie d'authentifier le back-end de l'API express à l'aide de l'appel de requête HTTP d'Axios. J'ai pu voir 'Set-Cookie' dans l'en-tête de la réponse, mais le cookie n'a pas été défini. Est-il possible de définir des cookies via les appels HTTP Axios?
Access-Control-Allow-Origin: * Connexion: garder en vie Longueur du contenu: 355 Content-Type: application/json; charset = utf-8 Date: vendredi, 28 septembre 2018 05:59:01 GMT ETag: W/"163-PAMc87SVHWkdimTJca7oRw" Set-Cookie: jeton = eyJhbGciOiJIuIIIIIII5SLI ..; Max-Age = 3,6; Path = /; Expire = vendredi 28 septembre 2018 05:59:04 GMT; HttpOnly X-Powered-By: Express
Essayez ceci!
axios.get('your_url', {withCredentials: true}); //for GET
axios.post('your_url', data, {withCredentials: true}); //for POST
axios.put('your_url', data, {withCredentials: true}); //for PUT
axios.delete('your_url', data, {withCredentials: true}); //for Delete
Pour plus d'informations à ce sujet dans la documentation axios:
"withCredentials indique si les demandes de contrôle d'accès intersites doivent être effectuées à l'aide d'informations d'identification" - https://github.com/axios/axios
Plus de détails sur withCredentials:
https://developer.mozilla.org/en-US/docs/Web/API/XMLHttpRequest/withCredentials
Oui, vous pouvez configurer les cookies par Axios. Les cookies doivent être passés dans l'objet en-tête. Vous pouvez envoyer des cookies dans un get/post/put/delete/etc. demande: comme suggéré par Aaron:
axios.get('URL', {
withCredentials: true
});
axios.post('URL', data, {
withCredentials: true
});
axios.put('URL', data, {
withCredentials: true
});
axios.delete('URL', data, {
withCredentials: true
});
Ou vous pouvez aussi essayer ceci:
axios.get(url, {
headers: {
Cookie: "cookie1=value; cookie2=value; cookie3=value;"
}
}).then(response => {
console.log(response);
});