Axios et Fetch dans le navigateur n'emportent pas de cookies lors de l'envoi de demandes
P粉662361740
P粉662361740 2024-04-04 15:59:30
0
1
497

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.

Les cookies générés par

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 ?

P粉662361740
P粉662361740

répondre à tous(1)
P粉988025835

Vous devez vous installerwithCredentials: true

Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal