Como faço rota privada no Nextjs
Queria uma ajudar estou tentando fazer uma rota privada no Nextjs
Queria uma ajudar estou tentando fazer uma rota privada no Nextjs
Henrique, você diz uma rota privada na API do Next.js (endereços que ficam no /api/*
) ou uma página privada?
Uma pagina tipo para o usuario acessar somente Login Cadastro mais Home Perfil so vai ser mostrada se caso tenha feito o login nao encontrei uma solucao
Vejo duas formas:
Caso você gere páginas estáticas usando o Next.js, você não pode inibir ninguém de acessar elas no sentido de conseguir baixar o arquivo HTML que gera o esqueleto dela. Dado a isso, você pode preencher os dados dessa página usando as rotas da API e essa rota poderá ser bloqueada por quem não estiver autenticado. E com isso, você pode fazer o frontend reagir a isso, notar que o acesso a alguma rota tomou um 401
e redirecionar para a página de login.
Isso é o modelo mais tradicional de páginas, onde a cada request você tem total controle sobre o processamento, decidindo liberar o acesso ou não enquanto a request do client
ainda está pendurada no server
.
Uma alternativa para páginas estáticas é usar Middleware (Beta) - Next.js
Ahhhh é verdade!!! Genial 😍 muito obrigado por trazer isso aqui Felipe 🤝
Mais como seria este bloqueio foda que tudo que coloca em pages/* no nextjs pode ser acessado pode ser bloqueado por sessao
Henrique, talvez seja melhor usar uma abstração como o NextAuth.js: https://next-auth.js.org/
Sugiro ir lendo a documentação deles sobre como implementar o que você deseja, ao invés de fazer algo do zero.