web-dev-qa-db-fra.com

Axios prend-il en charge Set-Cookie? Est-il possible de s'authentifier via une requête HTTP Axios?

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 
8
Mandakh

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

10
Aaron

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);
});
2
Amuk Saxena