Tokens de Autenticação
Após um login bem-sucedido, o GranaTech fornece dois tokens essenciais para autenticação contínua: session e refreshToken. Estes tokens são usados para validar o usuário e manter a sessão ativa. Abaixo estão os detalhes e exemplos de uso desses tokens.
Tipos de Tokens
- session: Este é o token de sessão atual e é usado para autenticar requisições.
- refreshToken: Este token é usado para renovar a sessão sem a necessidade de re-login.
Ambos os tokens são enviados como cookies nas requisições subsequentes. Eles são configurados automaticamente pelo servidor após a autenticação e incluídos em todas as requisições para o domínio.
Usar os Tokens em Requisições
Para realizar requisições autenticadas, é necessário incluir os tokens session e refreshToken como cookies.
Exemplo com curl
curl -X GET https://bff-dev.granatech.com.br/api/algum-endpoint \
-H "Cookie: session=SEU_TOKEN_DE_SESSAO_AQUI; refreshToken=SEU_REFRESH_TOKEN_AQUI"
Substitua SEU_TOKEN_DE_SESSAO_AQUI e SEU_REFRESH_TOKEN_AQUI pelos valores de tokens que você recebeu na resposta de login.
Renovação de Token
Quando o token de sessão (session) expira, o refreshToken é usado para obter um novo token de sessão. Para renovar o token usando curl, utilize o seguinte comando:
curl -X POST https://bff-dev.granatech.com.br/api/auth/refresh-token \
-H "Content-Type: application/json" \
-H "Cookie: refreshToken=SEU_REFRESH_TOKEN_ATUAL" \
-d '{}' \
-i
Substitua SEU_REFRESH_TOKEN_ATUAL pelo valor do seu refreshToken atual.
Exemplo de Resposta de Renovação
{
"status": "success",
"data": "Novo token de sessão gerado com sucesso.",
"session": "novo_token_de_sessao_exemplo",
"refreshToken": "novo_token_de_refresh_exemplo"
}
Após uma renovação bem-sucedida, o servidor retornará novos valores para session e refreshToken nos cabeçalhos Set-Cookie. Estes novos tokens devem ser usados para futuras requisições e renovações.
Notas Importantes
- O
refreshTokenatual deve ser enviado como um cookie na requisição de renovação. - A resposta incluirá novos valores para
sessionerefreshToken. - Em aplicações web, esses tokens são gerenciados automaticamente pelo navegador, se configurados corretamente.
- Algumas ferramentas de teste de API, como Postman e Insomnia, gerenciam automaticamente os tokens via cookies.
- Em aplicações não-web, você precisará extrair manualmente os novos valores dos cabeçalhos de resposta e utilizá-los nas requisições futuras.
- Sempre utilize HTTPS para garantir a segurança dos tokens.