Muito obrigado mano! muito boa explicação. Salvou meu dia. o app da empresa eu estava fazendo tudo isso aí na mão kkk dando dor de cabeça com server components bugando por loop e etc... Muito obrigado man! de verdade
Até que enfim consegui fazer essa implementação com seu vídeo. Muito obrigado Guido. O endpoint consegui fazer vendo aquele seu vídeo mais antigo, mas ao invés do express, usei a própria api do Next e ao invés do typeorm usei o Prisma, ou seja fiz algumas mudanças pra ficar tudo integrado no próprio next. Deu tudo certo. Obrigado!
Conteúdo SENSACIONAL!!! Muito bem explicado! só uma dica, para quem não quiser separar o botão de logout da página principal em um componente. É possível acessar a sessão (session) usando o hook useSession() no lado do cliente. Dessa forma, você consegue utilizar os dados da sessão em um client component.
amigo, obrigado de verdade, graças a você aprendi a fazer autenticação no next js, você nem faz ideia de como essa aula ajudou, de verdade, ganhou mais um inscrito no canal
Valeu por compartilhar esse teu conhecimento. Me ajudou muito a entender pequenos detalhes mas que fazem a gente perder muito tempo batendo cabeça. Fosse o cara.
Obrigado Guido estava esperando por esse tema! Eu já tenho um projeto NextJs13 + NextAuth, foi bem custoso logo no início da versão 13. Vou acompanhar esse video e comparar com o meu! Obrigado pelo excelente conteúdo de sempre
era o que tava faltando pra meu projetinho pessoal de horário do almoço no trabalho kkkk obrigado meu amigo! já tinha tentado pela documentação mais me embananei na lógica de enviar os forms.
Olá, Guido. Essa foi a melhor explicação sobre autenticação que assisti. Muito didático e claro nas exposições. Estive procurando algum vídeo que explicasse, com detalhes, a utilização de autenticação com a versão 13.4 do Next. Finalmente encontrei. Agora servirá de padrão para meus apps. Parabéns e obrigado!
"Ótimo! No entanto, tenho uma dúvida em relação aos outros endpoints da minha aplicação que requerem a transmissão do token. Qual é a abordagem mais segura ?
meus parabens pela iniciativa e muito obrigado por compartilhar esse conteudo. minha api (backend) e nodejs, como implementar o next auth para trazer meus outros campos ?
eu tenho uma dúvida, no caso eu tenho uma api com um endpoint de autenticação que retorna um token jwt se o usuário e senha estiverem corretos, esse token é a autorização para poder usar todos os outros endpoints. Como eu faria para poder o front end usar o next auth podendo entrar tanto com o login e senha, quanto com outros providers como facebook, etc?
No array de providers você passa os que deseja utilizar, são bem mais simples de usar os outros como Google e GitHub por exemplo, você só precisar autorizar o seu aplicativo em seu admin Google/github
Professor, no nextjs 14 muda alguma coisa, estou tentando implementar porem ele fica pegando a request sempre para o localhost:3000 ao inves a minha api externa.
Vídeo muito bom, mas muito triste em ter visto ele só agora. Fiz basicamente tudo que está no vídeo no meu projeto mais recente só que "na mão" mesmo kkkk, muito mais fácil usar o NextAuth. Parabéns pelo vídeo e obrigado!
Por algum motivo aqui da - status 401 (Unauthorized) clonei o repo, tentei fazer do zero e sempre recebo 401 (Unauthorized), o que pode ser? Fazendo uma pesquisa na internet vi que tem outras pessoas com esse erro.
Excelente vídeo!! ALguém sabe como passar o retorno do json para a session? Por exemplo, no meu retorno do json tem um campo chamado cpf, por exemplo: { "id": 123, "name": "Nome pessoa", "cpf": "cpf pessoa", } no callback já usei jwt e session, mas nenhum retorna o cpf. Como posso passar outros atributos retornados do json do servidor para a session? valeu
Cara tem como setar o endereco da aplicacao na configuracao do nextauth, por que eu tenho uma aplicacao na ibm cloud, que quando e compilada ela gera uma url e essa url e apontada para minha url externa. porem quando vou acessar a rota de login ele mudar a url externa para url interna. e a aplicacao nao roda.
Venho tentando fazer com a versão 14 do Next.js e a 5 (beta) do NextAuth, que segundo a documentação é a compatível. Falhando miseravelmente hahahaha. De uma versão para outra mudam N coisas e tornam tudo incompatível; impossível manter uma aplicação com um framework assim. Preferível usar React puro ou JS vanillão mesmo.
nesse caso, minha api retorna os dados do usuario e o token jwt criado com a sua respectiva secret key. o next precisa ter a mesma secret key que o meu backend?
Pessoal alguem mais recebeu um erro ao tentar buildar uma versão com essa implementação? O erro que estou me referindo: Type error: Route "src/app/api/auth/[...nextauth]/route.ts" does not match the required types of a Next.js Route. "MyNextAuthOptions" is not a valid Route export field. Em ambiente de desenvolvimento funciona blz, mas na na hora de buildar rola esse erro. Obrigado pelo conteúdo Guido!
Por algum motivo o meu código obrigou passar credentials: 'include', na chamada do fetch, do contrário, retornava sempre um erro de credentialsSignIn e não autenticava
Por causa do Next tive que fazer minha API aceitando duas formas de Login. 1ª Forma: Access_Token (30min) e Refresh_Token (7d) 2ª Forma: Access_Token (7d) Não encontrei uma forma decente de fazer funcionar Refresh Token no Next 14.
Parabéns pelo conteúdo , foi de muita ajuda, uma duvida como posso fazer agora pra manter os dados do usuário atualizados ? Se eu não estiver enganado caso eu faça um alteração nos dados do usuário exemplo o nome só terá efeito quando eu sai da aplicação e entrar novamente pois esse dados são armazenados quando o usuário inicia a sessão !
Estou ficando em um loop infinito quando faço o login com o google e a tela não renderiza. erro: Esta página não está funcionando Redirecionamento em excesso por localhost Tente excluir os cookies. ERR_TOO_MANY_REDIRECTS. quando não tenho uma session funciona normalmente. Alguém já passou por isso ou tem alguma ideia de como resolver. Muito obrigado...
Olá meu amigo, vídeo muito bom... Mas só não entendi um "pequeno grande detalhe". Lá em 37:20, na função callback jwt, a mesma recebe dois parâmetros, token e user... De onde ela pega os dados que preenchem esse parâmetro user? Aqui na minha o mesmo está sempre nulo.
cara alguem me ajuda, to colocando o endpoint do meu back end mas da error 401, sera que é por causa da secret key? a base url coloquei do meu tudo certo, mas dai quando coloco o endpoint dele funciona.. mas no caso ainda fica 401 unautorized.. alguem me da um help?
Primeiramente, muito bom o vídeo, a didática, parabéns! Como ficaria a implementação do refresh-token nas requisições, estou com bastante dificuldades de implementar isso nessa arquitetura?
pra mim não tá dando certo pq precisava também da explicação do banco. eu tô fazendo do zero e não sei muita coisa de back-end.. precisava do pacote completo
Bizarro como o ecossistema de Node é super verboso e cheio de setup... Trabalho a anos com Laravel e infelizmente estou sendo "obrigado" a migrar pra Node. Não tem como comparar, setup em cima de setup... Não entra na minha cabeça como Node é tão popular... Não consigo achar normal um vídeo de 40 minutos para fazer uma simples autenticação (vídeo por sinal está excelente!) mas me assusta a quantidade de setup necessário para algo, que no Laravel por exemplo, voce consegue fazer em 5 minutos se for alguém totalmente leigo!
Até acho válido suas ressalvas, nunca utilizei PHP ou Laravel acredito que deve ser techs fantásticas, mas vale ressaltar também que no caso neste tutorial ele aborda a questão de como tratar a questão da autenticação no nextjs que por sua vez também é muito robusto caso queira integrar direto com o BD e fazer as demais funcionalidades por isso nodejs é muito abrangente
exato, sou das dusas Stacks, JS e PHP e percebo isso também. É como se toda vez fossemos construir um foguete do 0. Sendo que laravel é um framework muito maduro na qual você consegue entregar um software de qualidade e moderno, e muito mais rápido que Node.
Perdi 40m da minha vida, o JWT que ele retorna do backEnd é de enfeite, ele controla o JWT diramente pelo NextAuth, mano, avisa isso no inicio do video pqp...
Estou tentando entender como resolver isso... Estou querendo integrar com um backend aspnet core com identity entity framework que já fornece toda estrutura de usuários, autenticação, tokens etc.. eu preciso do token do backend para acessar os endpoints protegidos... é impressionante como não consigo achar nada disso visto que react + aspnet core parece ser uma Stack popular
Provavelmente você tá usando uma versão antiga do next-auth. Verifica no seu package.json a versão que está usando e compara com o repositório que disponibilizei
Só depois da tua explicaçao consegui perceber minimamente o que dizia na documentação e assim dar continuidade, valeu.
Me ajudou bastante a entender todo funcionamento do NextAuth, muito obrigado!
Muito obrigado mano! muito boa explicação. Salvou meu dia. o app da empresa eu estava fazendo tudo isso aí na mão kkk dando dor de cabeça com server components bugando por loop e etc...
Muito obrigado man! de verdade
Esse video era o que eu estava procurando a tempos!!! Bela explicação sem nenhuma enrolação... Direto ao ponto!
Até que enfim consegui fazer essa implementação com seu vídeo. Muito obrigado Guido.
O endpoint consegui fazer vendo aquele seu vídeo mais antigo, mas ao invés do express, usei a própria api do Next e ao invés do typeorm usei o Prisma, ou seja fiz algumas mudanças pra ficar tudo integrado no próprio next. Deu tudo certo. Obrigado!
Conteúdo SENSACIONAL!!! Muito bem explicado! só uma dica, para quem não quiser separar o botão de logout da página principal em um componente. É possível acessar a sessão (session) usando o hook useSession() no lado do cliente. Dessa forma, você consegue utilizar os dados da sessão em um client component.
Parabéns pelo conteúdo, esse foi o melhor vídeo sobre Next Auth que assisti, muito bem explicado!!
Sério mesmo, me ajudou muito. Muito obrigado, mainho! Ótimo trabalho!
amigo, obrigado de verdade, graças a você aprendi a fazer autenticação no next js, você nem faz ideia de como essa aula ajudou, de verdade, ganhou mais um inscrito no canal
Valeu por compartilhar esse teu conhecimento. Me ajudou muito a entender pequenos detalhes mas que fazem a gente perder muito tempo batendo cabeça. Fosse o cara.
Obrigado Guido estava esperando por esse tema! Eu já tenho um projeto NextJs13 + NextAuth, foi bem custoso logo no início da versão 13. Vou acompanhar esse video e comparar com o meu! Obrigado pelo excelente conteúdo de sempre
Muito obrigado pelo feedback. Fico feliz que pode te ajudar de alguma forma.
Cara, muito obrigado! Consegui implementar esse novo Auth com Next JS 14 + Strapi
era o que tava faltando pra meu projetinho pessoal de horário do almoço no trabalho kkkk obrigado meu amigo! já tinha tentado pela documentação mais me embananei na lógica de enviar os forms.
Muito Top, estava travado em um curso que está desatualizado nesta parte e seu vídeo me ajudou a seguir em frente :)
Boa meu caro, ótimo vídeo. Estava com dificuldades somente pela documentação e seu vídeo eu consegui implementar exatamente o que queria.
Parabéns cara, essa foi a melhor explicação que eu encontrei sobre ees tema
Video aula incrível, direto ao ponto. Obrigado!
Olá, Guido. Essa foi a melhor explicação sobre autenticação que assisti. Muito didático e claro nas exposições. Estive procurando algum vídeo que explicasse, com detalhes, a utilização de autenticação com a versão 13.4 do Next. Finalmente encontrei. Agora servirá de padrão para meus apps. Parabéns e obrigado!
Rapaz, ótimo video, direto ao ponto conseguiu me ajudar demais, obrigado e continue com essa didática.
Conseui aplicar no fluxo de caixa que estou fazendo com meu irmao, Guidao.
Agradeço demais pelo vídeo e pelas aulas da Cubos.
Muito bem explicado! Parabéns pela explicação!
Sem palavras! Melhor explicação que vi sobre Next Auth. Parabéns!!
Conteúdo de excelente qualidade! Muito obrigado!
Muito top o vídeo, sem enrolação e didática boa. Nota 1000
Excelente aula, muito obrigado!!
Valeuu ! Ajudou muito
Excelente didática! Obrigado!
Bom dia Guido, ótimo vídeo.
Me ajuda por favor, sabe se usando o axios tem que mudar alguma coisa? Estou tendo problemas pra implementar o authorize
"Ótimo! No entanto, tenho uma dúvida em relação aos outros endpoints da minha aplicação que requerem a transmissão do token. Qual é a abordagem mais segura ?
meus parabens pela iniciativa e muito obrigado por compartilhar esse conteudo. minha api (backend) e nodejs, como implementar o next auth para trazer meus outros campos ?
Sensacional sua aula! Obrigadooo!
excelente conteúdo, muito obrigada! :)
Muito boa sua aula Guido ganhou mais um seguidor, estava muito procurando essa implementação das credentials...
Didático e objetivo. Muito bom!
Muito bom conteúdo amigo, didático demais!
Parabéns pelo vídeo, ótima didática, conteúdo riquíssimo👏
Massa demais esse conteúdo Guido, top demais
Ótima explicação! Parabéns e obrigado!
eu tenho uma dúvida, no caso eu tenho uma api com um endpoint de autenticação que retorna um token jwt se o usuário e senha estiverem corretos, esse token é a autorização para poder usar todos os outros endpoints. Como eu faria para poder o front end usar o next auth podendo entrar tanto com o login e senha, quanto com outros providers como facebook, etc?
No array de providers você passa os que deseja utilizar, são bem mais simples de usar os outros como Google e GitHub por exemplo, você só precisar autorizar o seu aplicativo em seu admin Google/github
Se buildar essa aplicação vai perceber que vai receber o seguinte erro:
"authOptions" is not a valid Route export field.
Como conseguiu resolver?
Obrigado! Esta me ajudando muito! Você é bem didático!
🎉 Mandou bem irmão! Parabéns pelo excelente conteúdo!
Parabéns pelo video mano, ajudou demais!
Parabéns pelo vídeo, o conteúdo em ajudou muito!
Obrigado Guerreiro, este conteúdo me ajudou muito. Parabéns pela didática incrível, abraço!
Sensacional!! Muito Obrigado
Parabéns pelo conteúdo
Professor, no nextjs 14 muda alguma coisa, estou tentando implementar porem ele fica pegando a request sempre para o localhost:3000 ao inves a minha api externa.
excelente conteúdo, obrigado!
Vídeo muito bom, mas muito triste em ter visto ele só agora. Fiz basicamente tudo que está no vídeo no meu projeto mais recente só que "na mão" mesmo kkkk, muito mais fácil usar o NextAuth. Parabéns pelo vídeo e obrigado!
Por algum motivo aqui da - status 401 (Unauthorized) clonei o repo, tentei fazer do zero e sempre recebo 401 (Unauthorized), o que pode ser? Fazendo uma pesquisa na internet vi que tem outras pessoas com esse erro.
Complicado de usar a session quando precisa usar em component server ou async vira uma confusão, to quase voltando pra versão 12 do next.
Excelente vídeo!!
ALguém sabe como passar o retorno do json para a session?
Por exemplo, no meu retorno do json tem um campo chamado cpf, por exemplo:
{
"id": 123,
"name": "Nome pessoa",
"cpf": "cpf pessoa",
}
no callback já usei jwt e session, mas nenhum retorna o cpf.
Como posso passar outros atributos retornados do json do servidor para a session?
valeu
fala sério, salvou vidas! 🤩
como faria com laravel sanctum? seria a mesma coisa? usando mesmo o fetch como faria para pegar o token csrf?
Cara demais, pararabens pelo projeto.
Cara tem como setar o endereco da aplicacao na configuracao do nextauth, por que eu tenho uma aplicacao na ibm cloud, que quando e compilada ela gera uma url e essa url e apontada para minha url externa. porem quando vou acessar a rota de login ele mudar a url externa para url interna. e a aplicacao nao roda.
mesmo problema
28:20 não sei se o next atualizou mas está falando que nao pode usar async await em client componentes
o é pelo o que eu entendi o backend está rodando local?
Ótimo video, parabéns!
Pra fazer unsando axios, tem alguma coisa diferente? fiz exatamente igual mas na hora de fazer a requisição usei axios e nao esta me retornando nada
Pergunta, se eu quiser fazer isso usando o firebase, é possivel?
Boa tarde, ao deixar os campos dos inputs vazios, não cai em result.error, e redireciona direto para a página indicada, o que pode ser :
?
Venho tentando fazer com a versão 14 do Next.js e a 5 (beta) do NextAuth, que segundo a documentação é a compatível. Falhando miseravelmente hahahaha.
De uma versão para outra mudam N coisas e tornam tudo incompatível; impossível manter uma aplicação com um framework assim. Preferível usar React puro ou JS vanillão mesmo.
Também não estou tendo sucesso, a sessão que tento pegar com o getServerSession só vem nula. Vc conseguiu evoluir nisso?
@@MAlves-nh8ne não. Como é um projeto hobby, coisa pequena, vou mudar pra React puro.
Perfeito !
nesse caso, minha api retorna os dados do usuario e o token jwt criado com a sua respectiva secret key. o next precisa ter a mesma secret key que o meu backend?
Conseguiu descobrir?
muito bom, obrigado!
estou tendo o erro unathorized 401 em credntials e não consigo resolver...alguém com esse erro também?
Pessoal alguem mais recebeu um erro ao tentar buildar uma versão com essa implementação? O erro que estou me referindo: Type error: Route "src/app/api/auth/[...nextauth]/route.ts" does not match the required types of a Next.js Route.
"MyNextAuthOptions" is not a valid Route export field.
Em ambiente de desenvolvimento funciona blz, mas na na hora de buildar rola esse erro. Obrigado pelo conteúdo Guido!
Aqui tbm :/
@@kennedy2623 cara, esse problema ocorre apenas na versão 14 do Nextjs! Só fazer downgrade pra 13 que é sucesso 🤟🏼
@@kinerikin 😭
Como conseguiu resolver?
@@skeks1081 vc tá em qual versão?
Por algum motivo o meu código obrigou passar credentials: 'include', na chamada do fetch, do contrário, retornava sempre um erro de credentialsSignIn e não autenticava
Por causa do Next tive que fazer minha API aceitando duas formas de Login.
1ª Forma: Access_Token (30min) e Refresh_Token (7d)
2ª Forma: Access_Token (7d)
Não encontrei uma forma decente de fazer funcionar Refresh Token no Next 14.
Parabéns pelo conteúdo , foi de muita ajuda, uma duvida como posso fazer agora pra manter os dados do usuário atualizados ? Se eu não estiver enganado caso eu faça um alteração nos dados do usuário exemplo o nome só terá efeito quando eu sai da aplicação e entrar novamente pois esse dados são armazenados quando o usuário inicia a sessão !
Estou ficando em um loop infinito quando faço o login com o google e a tela não renderiza. erro: Esta página não está funcionando Redirecionamento em excesso por localhost
Tente excluir os cookies.
ERR_TOO_MANY_REDIRECTS. quando não tenho uma session funciona normalmente. Alguém já passou por isso ou tem alguma ideia de como resolver. Muito obrigado...
Show, muito bom!!!!
Top demais !!!
Power Guido!
top
Genial
Manda o back ai pra gente, please, nunca te pedi nada! Inscrito! To doido pra fazer um back em mongo pra eu consumi no front
Ótimo vídeo
Pô alguém da uma força aí, quero fazer auth mas se usuário estiver inativo no banco ele não conseguir entrar
Olá meu amigo, vídeo muito bom... Mas só não entendi um "pequeno grande detalhe". Lá em 37:20, na função callback jwt, a mesma recebe dois parâmetros, token e user... De onde ela pega os dados que preenchem esse parâmetro user? Aqui na minha o mesmo está sempre nulo.
Mesma coisa aqui
Eu tb estou com esse problema. Vc conseguiu resolver?
Eu tb estou com esse problema. Vc conseguiu resolver?@@lazarohenrique7996
cara alguem me ajuda, to colocando o endpoint do meu back end mas da error 401, sera que é por causa da secret key? a base url coloquei do meu tudo certo, mas dai quando coloco o endpoint dele funciona.. mas no caso ainda fica 401 unautorized.. alguem me da um help?
agora fica dando redirect sem parar zzzzzzzzzzzzz
como resolveu?
resolveu? estou na mesma situação
Cairia bem, uma autenticação com next14
Primeiramente, muito bom o vídeo, a didática, parabéns! Como ficaria a implementação do refresh-token nas requisições, estou com bastante dificuldades de implementar isso nessa arquitetura?
Já viu o tutorial nas docs? Senão viu procura por rotation refresh token
pra mim não tá dando certo pq precisava também da explicação do banco. eu tô fazendo do zero e não sei muita coisa de back-end.. precisava do pacote completo
o token está sendo passado já automaticamente, ou precisa pegar ele em mais algum lugar?(Para as novas requisições
)
Descobriu mn?
que terminal bonitinho é esse?
Bizarro como o ecossistema de Node é super verboso e cheio de setup... Trabalho a anos com Laravel e infelizmente estou sendo "obrigado" a migrar pra Node. Não tem como comparar, setup em cima de setup... Não entra na minha cabeça como Node é tão popular... Não consigo achar normal um vídeo de 40 minutos para fazer uma simples autenticação (vídeo por sinal está excelente!) mas me assusta a quantidade de setup necessário para algo, que no Laravel por exemplo, voce consegue fazer em 5 minutos se for alguém totalmente leigo!
Até acho válido suas ressalvas, nunca utilizei PHP ou Laravel acredito que deve ser techs fantásticas, mas vale ressaltar também que no caso neste tutorial ele aborda a questão de como tratar a questão da autenticação no nextjs que por sua vez também é muito robusto caso queira integrar direto com o BD e fazer as demais funcionalidades por isso nodejs é muito abrangente
exato, sou das dusas Stacks, JS e PHP e percebo isso também. É como se toda vez fossemos construir um foguete do 0. Sendo que laravel é um framework muito maduro na qual você consegue entregar um software de qualidade e moderno, e muito mais rápido que Node.
Perdi 40m da minha vida, o JWT que ele retorna do backEnd é de enfeite, ele controla o JWT diramente pelo NextAuth, mano, avisa isso no inicio do video pqp...
Não é de enfeite não vc consegue recuperar via cookies e dar o jwt verify com a mesma secret que vc utilizou no authOptions
Estou tentando entender como resolver isso... Estou querendo integrar com um backend aspnet core com identity entity framework que já fornece toda estrutura de usuários, autenticação, tokens etc.. eu preciso do token do backend para acessar os endpoints protegidos... é impressionante como não consigo achar nada disso visto que react + aspnet core parece ser uma Stack popular
aparece esse erro pra mim
ReferenceError: "next-auth/next" is deprecated. If you are not ready to migrate, keep using "next-auth@4".
Provavelmente você tá usando uma versão antiga do next-auth. Verifica no seu package.json a versão que está usando e compara com o repositório que disponibilizei
@@guidocerqueira esse erro está no projeto que eu baixei do seu github
Excelente aula, muito obrigado!