Executando verificação de segurança...
1

[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:

  • email
  • 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:

Postman image

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

Carregando publicação patrocinada...