[Tutorial - Next.js & Postman] - Testando as rotas de autenticação do NextAuth usando o Postman
Se você já utiliza o Postman para testar suas APIs construídas com as API Routes do Next.js, provavelmente também está utilizando o NextAuth para gerenciar a autenticação da sua aplicação. Neste artigo, vou mostrar uma maneira simples de testar suas rotas de autenticação do NextAuth através do Postman.
Criando variáveis ambiente
Antes de qualquer coisa certifique-se de registrar as seguintes variáveis ambiente na sua Collection do Postman:
- next-auth.callback-url
- next-auth.csrf-token
- next-auth.session-token
Os valores podem ser nulos.
Registrando os endpoints
Antes de começar os testes, vamos registrar dois endpoints no Postman para facilitar a execução das requisições.
Get CSRF Token
Método: GET
Endpoint: {{URL}}/auth/signin
Na aba Tests
, adicione o seguinte script:
console.log("Response: Test script");
pm.cookies.each(cookie => console.log(cookie));
let csrfToken = pm.cookies.get("next-auth.csrf-token");
let csrfTokenValue = csrfToken.split('|')[0];
let sessionTokenValue = pm.cookies.get("next-auth.session-token");
console.log('csrf token value: ', csrfTokenValue);
console.log('session token value: ', sessionTokenValue);
pm.environment.set("csrfToken", csrfTokenValue, "<your-environment-name>");
pm.environment.set("sessionToken", sessionTokenValue, "<your-environment-name>");
Esse script é responsável por extrair o valor do CSRF Token e do Session Token dos cookies e armazená-los como variáveis de ambiente no Postman. Essas variáveis são usadas pelo NextAuth para gerenciar a autenticação.
Não se esqueça de alterar <your-environment-name>
Sign in
Método: POST
Endpoint: {{URL}}/auth/callback/credentials
Nessa rota, faremos efetivamente o login. Adicione o mesmo script que adicionamos anteriormente na aba Tests
.
No corpo da requisição, precisamos enviar os seguintes dados:
- password
- csrfToken
Certifique-se de que a variável csrfToken
esteja definida nas variáveis de ambiente da sua coleção no Postman. Os dados acima devem estar de acordo com as regras de autenticação da sua aplicação.
Não se esqueça de selecionar a opção x-www-form-urlencoded
ao enviar a requisição.
A estrutura da requisição deve ser semelhante à seguinte:
A resposta dessas requisições deve retornar um HTML gerado pelo Next.js, mas não se assuste, isso é normal! Apenas verifique se as variáveis estão sendo configuradas corretamente através dos scripts que adicionamos nas abas Tests
.
Agora você está pronto para testar suas rotas de autenticação do NextAuth usando o Postman. Essa é uma forma simples e eficaz de verificar se tudo está funcionando corretamente antes de integrar sua aplicação com outros serviços.
Experimente e garanta a segurança e o bom funcionamento da autenticação na sua aplicação Next.js!
Gostou deste artigo? Aprenda mais sobre desenvolvimento web, React.js e Next.js comigo! Estarei postando mais conteúdos em breve. Siga-me nas redes sociais para receber mais dicas e tutoriais incríveis!
Twitter: @davialcantaraa
LinkedIn: Davi Alcântara
Github: @davialcantaraa
Comente como você tem feito suas chamadas API e compartilhe este artigo com seus amigos desenvolvedores. Até a próxima!
Quer fazer uma parceria ou um projeto? Mande-me um e-mail