Este Starter-Kit foi desenvolvido para poupar seu tempo. Aqui você encontra o que precisa para começar a desenvolver seu projeto com segurança.
Este é um template de projeto de autenticação e autorização implementado em Next.js e create-next-app
.
Foi incluído a inicialização com Shadcn-ui, prisma Prisma, Authjs | Next-Auth Authjs utilizando banco de dados PostgreSQL
Efetuar a clonagem do repositório
git clone https://github.com/devdeck101/authjs-prisma-template.git
Após entrar na pasta do projeto, instalar os pacotes:
npm install
O banco de dados utilizado no projeto é o PostgreSQL. Você precisa de um instância dele para executar o projeto.
Obs. O projeteto possui um arquivo chamado docker-compose.yml para execução de um container docker explicado abaixo.
Na raiz do projeto, existe um arquivo docker-compose.yml
com as configuração de uma imagem de banco
de dados PostgreSQL.
Caso não tenha o docker instalado, pode encontrá-lo aqui Get Docker.
Para inicializar o container
docker compose up -d
Para finalizar o serviço
docker compose down postgres
É necessário um cadastro no RESEND e criação de uma chave de API para envios de email que incluem verificação de usuário, autenticação de 2 fatos e mudança de senha.
Após logar na sua conta, siga a imagem abaixo:
Modificar|Renomear o arquivo .env.example
para .env
.
Uma vez modificado o arquivo, será necessário modificar algumas variáveis de ambiente:
Váriável do banco de dados:
#Exemplo levando em consideração a utilização do container docker disponível
#DATABASE_URL="postgresql://developerdeck101:developerdeck101@127.0.0.1:5432/test"
DATABASE_URL="postgresql://<user>:<password>@<url>:<port>/<db_name>"
Variável de encriptação do token JWT
AUTH_SECRET=314FUJnJeO1zGfxpxbmqqxQsBiCl/NwOyJ9AONpG03Y=
Para gerar a chave de AUTH_SECRET
, pode utilizar o comando abaixo:
# Unix System
openssl rand -base64 32
ou
# Windows System
npm exec auth secret
Caso deseje executar em modo produção npm run start
, será necessário descomentar a variável abaixo:
AUTH_TRUST_HOST=true
As demais váriáveis são auto-explicativas. Qualquer dúvida, entra em contato clicando abaixo
Para a criação das tabelas do banco de dados, é possível executar os comando do prisma ou scripts do projeto
Execute o comando
npx prisma migrate dev
ou
npx prisma db push
# Crias as tabelas no banco de dados
npm run push-db
# Limpa o banco de dados
npm run clear-db
# Abre o Prisma Studio
npm run studio
# Executar o Projeto
npm run dev
# Construir o projeto
npm run build
# Executar o Projeto
npm run start
Abrir http://localhost:3000 com seu navegador.