Maison  >  Questions et réponses  >  le corps du texte

Axios et Fetch dans le navigateur n'emportent pas de cookies lors de l'envoi de demandes

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粉662361740P粉662361740178 Il y a quelques jours364

répondre à tous(1)je répondrai

  • P粉988025835

    P粉9880258352024-04-05 12:36:43

    Vous devez vous installerwithCredentials: true

    répondre
    0
  • Annulerrépondre