Heim  >  Fragen und Antworten  >  Hauptteil

Axios und Fetch im Browser tragen beim Senden von Anfragen keine Cookies

Ich habe eine Spring-Boot-API mit JWT-Authentifizierung entwickelt und den Endpunkt erhalten 'http://localhost:8080/api/signin' Wenn die Anmeldung erfolgreich ist, wird eine JSESSIONID zurückgegeben, bei der es sich um ein jwtToken handelt. Soweit so gut, aber ich kann andere Methoden von der API im Browser abrufen, da das Cookie nicht im Anforderungstext übergeben wird.

Die von

jwt generierten Cookies sind wie folgt: JSESSIONID=eyJhbGciOiJIUzUxMiJ9.eyJzdWIiOiJhZG1pbiIsImlhdCI6MTY4NTE1Mzk5NSwiZXhwIjoxNjg1MjQwMzk1fQ.9jxHyzDJKVra8IryxbH8se0xSl4_Dka pNsKmjRCvlJs_R8M3x3RBMeo-1VPAJv6YSQwC6ukJutRwGEyfeYrGwQ;路径=/;仅 Http;过期=2023 年 5 月 28 日星期日 02:38:33 GMT;

Zum Beispiel: Wenn ich das mache

curl --location 'http://localhost:8080/user/admin/all' --header 'Cookie: JSESSIONID=mycookie'

Alles läuft gut und gibt den gewünschten JSON zurück, aber wenn ich ihn im Browser ausführe, im JS-Skript auf meinem 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);
  });

Ich erhalte diese Fehlermeldung:

GET http://localhost:8080/user/admin/all 401

Keine Cookies gesetzt. Ich habe so viel ausprobiert und fast den Verstand verloren. Wissen Sie, was es sein wird?

P粉662361740P粉662361740178 Tage vor362

Antworte allen(1)Ich werde antworten

  • P粉988025835

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

    您需要设置withCredentials: true

    Antwort
    0
  • StornierenAntwort