Oi, Moacir! Como vai?
Essa mensagem do GitHub indica que a URL de redirecionamento (redirect_uri) enviada pela sua aplicação não está igual à que foi cadastrada no GitHub.
Vamos tentar resolver por partes:
1) URL de callback no GitHub
No GitHub, acesse:
- Settings
- Developer settings
- OAuth Apps
- Selecione o seu app
No campo Authorization callback URL, confira se está exatamente assim:
http://localhost:3000/api/auth/callback/github
Esse valor precisa ser idêntico, sem:
- barra a mais no final
- porta diferente
- http diferente de https
- localhost diferente de 127.0.0.1
Qualquer diferença faz o GitHub bloquear o redirect.
2) Arquivo .env.local
Confira se o seu .env.local tem esta configuração:
NEXTAUTH_URL=http://localhost:3000
O que esse código faz:
- Define a URL base que o Auth.js usa para montar o fluxo de login e callback.
Importante:
- Se usar
localhost, use localhost em tudo. - Se usar
127.0.0.1, use 127.0.0.1 em tudo.
3) Reiniciar o servidor
Sempre que alterar o .env.local, faça o seguinte:
Ctrl + C
npm run dev
O que isso faz:
- Garante que o Next.js leia as novas variáveis de ambiente.
4) Teste direto no navegador
Abra este endereço no navegador:
http://localhost:3000/api/auth/signin
Se o login abrir e, ao voltar do GitHub, aparecer o mesmo aviso, o problema está na URL de callback configurada no GitHub.
5) Cache do navegador
Em alguns casos, cookies antigos atrapalham o login.
Limpe o cache ou teste em uma aba anônima.
Ou seja, esse erro acontece quando as URLs não batem 100% entre GitHub e aplicação. Ajustando isso, o redirect funciona corretamente.
Espero ter ajudado. Conte com o apoio do Fórum na sua jornada. Fico à disposição.
Abraços e bons estudos!
Caso este post tenha lhe ajudado, por favor, marcar como solucionado