J'envoie des requêtes du client à mon serveur Express.js en utilisant Axios.
J'ai défini un cookie sur le client et je veux lire ce cookie à partir de toutes les demandes Axios sans avoir à les ajouter manuellement à la demande.
Voici l'exemple de ma demande côté client :
axios.get(`some api url`).then(response => ...
J'ai essayé d'accéder aux en-têtes ou aux cookies en utilisant ces propriétés dans mon serveur Express.js :
req.headers
req.cookies
Aucun d'entre eux ne contenait de cookies. J'utilise un intergiciel d'analyse des cookies :
app.use(cookieParser())
Comment puis-je faire en sorte qu'Axios envoie automatiquement des cookies dans les requêtes ?
Edit :
Je configure le cookie sur le client comme ceci :
import cookieClient from 'react-cookie'
...
let cookie = cookieClient.load('cookie-name')
if(cookie === undefined){
axios.get('path/to/my/cookie/api').then(response => {
if(response.status == 200){
cookieClient.save('cookie-name', response.data, {path:'/'})
}
})
}
...
Bien qu'il utilise également Axios, ce n'est pas pertinent pour la question. Je veux simplement intégrer les cookies dans toutes mes requêtes une fois qu'un cookie est défini.
1 votes
Comment avez-vous configuré le cookie sur le client ? montrez un exemple de code s'il vous plaît :)
0 votes
@TzookBarNoy Ajouté le code en question
0 votes
Les cookies sont définis par les serveurs avec Set-Cookie et non par le client, je suppose que vous voulez dire lire le cookie sur le client. Selon le protocole Cookie, le client doit inclure un en-tête Cookie dans ses demandes au serveur émetteur du cookie.
0 votes
Regarde ça. stackoverflow.com/questions/53898031/