[DUVIDA] Não estou recebendo meu JWT na response.
Possuo uma aplicação springboot simples com spring security, implementei para que ao usuario efetuar um login e senha eu mando o jwt pelo body(tenho quase 100% de certeza que isso não é uma boa pratica, oo correto acredito que seria mandar pelo header, mas como disse, estou aprendendo).
a questão é que eu consigo por exemplo no postman eu mando o login e senha e ele responde no body a chave jwt pra mim normalmente. porem no meu frontele me da oo seguinte console.log:
Response { type: "cors", url: "http://localhost:8080/api/v1/user/login", redirected: false, status: 200, ok: true, statusText: "", headers: Headers(4), body: ReadableStream, bodyUsed: false }
body: ReadableStream { locked: false }
locked: false
<prototype>: ReadableStreamPrototype { cancel: cancel(), getReader: getReader(), pipeThrough: pipeThrough(), … }
bodyUsed: false
headers: Headers(4) { "cache-control" → "no-cache, no-store, max-age=0, must-revalidate", "content-type" → "application/json", expires → "0", … }
<entries>
"cache-control": "no-cache, no-store, max-age=0, must-revalidate"
"content-type": "application/json"
expires: "0"
pragma: "no-cache"
<prototype>: HeadersPrototype { append: append(), delete: delete(), get: get(), … }
ok: true
redirected: false
status: 200
statusText: ""
type: "cors"
url: "http://localhost:8080/api/v1/user/login"
<prototype>: ResponsePrototype { clone: clone(), arrayBuffer: arrayBuffer(), blob: blob(), … }
ja procurei dentroo de todas essa propriedades do tipo <prototype>
e tambem nao encontrei nada :/
EDIT: Inserção do meu codigo no front
document.getElementById("login-form").addEventListener("submit", function(event) {
event.preventDefault();
const username = document.getElementById("username").value;
const password = document.getElementById("password").value;
const loginDto = { username, password };
fetch("http://localhost:8080/api/v1/user/login", {
method: "POST",
headers: {
"Content-Type": "application/json",
},
body: JSON.stringify(loginDto)
})
.then(response => {
if (response.ok) {
alert(response.body.value); // Redirecionar para a página de perfil após o login
console.log(response)
} else {
document.getElementById("error-message").textContent = "Credenciais inválidas";
}
})
.catch(error => {
console.error("Erro no login:", error);
});
});
<!DOCTYPE html>
<html lang="pt-br">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Index</title>
</head>
<body>
<form id="login-form">
<label for="username">Nome de Usuario:</label>
<input type="text" name="username" id="username" placeholder="Digite seu nome de usuario">
<label for="password">Senha:</label>
<input type="password" name="password" id="password" placeholder="Digite sua senha">
<button type="submit">Login</button>
</form>
<p id="error-message" style="color: red;"></p>
<script src="login.js"></script>
</body>
</html>