J'ai développé une API Spring Boot en utilisant jwt auth et j'ai obtenu le point de terminaison
'http://localhost:8080/api/signin'
Si la connexion réussit, elle renverra un JSESSIONID, qui est un jwtToken. Jusqu'ici tout va bien, mais je peux obtenir d'autres méthodes de l'API dans le navigateur puisque le cookie n'est pas transmis dans le corps de la requête.
jwt sont les suivants : JSESSIONID=eyJhbGciOiJIUzUxMiJ9.eyJzdWIiOiJhZG1pbiIsImlhdCI6MTY4NTE1Mzk5NSwiZXhwIjoxNjg1MjQwMzk1fQ.9jxHyzDJKVra8IryxbH8se0xSl4_Dka pNsKmjRCvlJs_R8M3x3RBMeo-1VPAJv6YSQwC6ukJutRwGEyfeYrGwQ;路径=/;仅 Http;过期=2023 年 5 月 28 日星期日 02:38:33 GMT;
Par exemple : Si je fais ça
curl --location 'http://localhost:8080/user/admin/all' --header 'Cookie: JSESSIONID=mycookie'
Tout se passe bien et renvoie le json que je veux, mais quand je l'exécute sur le navigateur, dans le script js sur mon frontend
axios .get("http://localhost:8080/user/admin/all", { headers: { Cookie: "JSESSIONID=mycookie", }, }) .then((response) => { console.log(response.headers); console.log(response.data); }) .catch((error) => { console.error("Erro:", error); });
J'obtiens cette erreur :
GET http://localhost:8080/user/admin/all 401
Aucun cookie n'est défini. J'ai essayé tellement de choses et j'ai presque perdu la tête. Savez-vous ce que ce sera ?
Vous devez vous installer
withCredentials: true