Na requisição POST para o endpoint auth/login eu retorno:
- token no corpo.
- refresh token no Cookies http-orly
estar certo ? aonde o token de acesso fica armazenado ? e assim que sao armazenados o token de acesso e o refresh ?
Na requisição POST para o endpoint auth/login eu retorno:
estar certo ? aonde o token de acesso fica armazenado ? e assim que sao armazenados o token de acesso e o refresh ?
Olá Cauã! Tudo certo?
É ótimo ver você explorando o funcionamento dos tokens de autenticação! Vamos lá:
Na sua requisição POST para o endpoint auth/login
, é comum retornar o token de acesso (AccessToken) no corpo da resposta, enquanto o refresh token pode ser armazenado nos cookies. Isso está correto e é uma prática comum para separar a responsabilidade de cada token.
O token de acesso geralmente é armazenado no cliente, muitas vezes na memória ou no armazenamento local (localStorage) ou de sessão (sessionStorage) do navegador. Isso permite que ele seja facilmente acessado para autenticar as requisições subsequentes sem a necessidade de um novo login.
Por exemplo, se você estiver usando JavaScript no navegador, pode armazenar o token de acesso assim:
localStorage.setItem('accessToken', token);
Já o refresh token, por questões de segurança, é frequentemente armazenado em cookies com a flag HttpOnly
ativada. Isso impede que o JavaScript do lado do cliente acesse o cookie, protegendo-o contra ataques XSS (Cross-Site Scripting).
A estrutura que você mencionou, com o token de acesso no corpo e o refresh token nos cookies, é uma abordagem bastante utilizada e segura, desde que os cookies sejam configurados corretamente.
Espero ter ajudado e bons estudos!