Axios und Fetch im Browser tragen beim Senden von Anfragen keine Cookies
P粉662361740
P粉662361740 2024-04-04 15:59:30
0
1
513

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粉662361740
P粉662361740

Antworte allen(1)
P粉988025835

您需要设置withCredentials: true

Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage