Uma API robusta para gerenciamento de usuários com autenticação baseada em JWT, desenvolvida utilizando Node.js, Express e Prisma ORM.
- Funcionalidades
- Tecnologias Utilizadas
- Instalação
- Configuração
- Documentação da API
- Variáveis de Ambiente
- Testes
- Roadmap
- Licença
- Registro e autenticação de usuários com JWT
- Gerenciamento de perfis (leitura e atualização)
- Geração de tokens JWT com expiração configurável
- Validação robusta de dados de entrada
- Criptografia segura de senhas
- Middleware de autenticação para rotas protegidas
- Node.js: Plataforma de execução JavaScript
- Express: Framework para construção de APIs
- Prisma ORM: Gerenciamento de banco de dados
- PostgreSQL: Banco de dados relacional
- JWT: Autenticação baseada em tokens
- Zod: Validação de esquemas
-
Clone o repositório:
git clone https://github.com/kant-sdev/auth-simple-api.git cd auth-simple-api -
Instale as dependências:
npm install
-
Configure o banco de dados:
npx prisma generate npx prisma migrate dev
-
Inicie o servidor:
npm run dev
Configure a conexão com o PostgreSQL no arquivo .env:
DATABASE_URL="postgresql://usuario:senha@localhost:5432/nome_banco?schema=public"Adicione as variáveis de segurança ao arquivo .env:
JWT_KEY="sua_chave_secreta_aqui"
PORT=4000POST /v1/api/auth/registerBody:
{
"name": "Nome Completo",
"email": "email@valido.com",
"contact": "11999999999",
"password": "senhaForte123"
}POST /v1/api/auth/loginBody:
{
"email": "email@valido.com",
"password": "senhaForte123"
}GET /v1/api/auth/profileHeaders:
Authorization: Bearer <token_jwt>
PUT /v1/api/auth/profileHeaders:
Authorization: Bearer <token_jwt>
Content-Type: application/json
Body:
{
"name": "Novo Nome",
"contact": "11988887777"
}| Variável | Obrigatório | Descrição | Exemplo |
|---|---|---|---|
DATABASE_URL |
Sim | URL de conexão com o PostgreSQL | postgresql://user:pass@localhost:5432/db |
JWT_KEY |
Sim | Chave secreta para tokens JWT | minhaChaveSuperSecreta123 |
PORT |
Não | Porta do servidor (padrão: 4000) | 4000 |
- Importe a coleção do Postman.
- Configure a variável de ambiente no Postman:
base_url:http://localhost:4000/v1/api
- Execute o fluxo de testes:
- Registro → Login → Acesso ao perfil → Atualização
- Implementação de recuperação de senha
- Confirmação de e-mail para novos usuários
- Integração com documentação Swagger
- Suporte à dockerização
- Desenvolvimento de testes automatizados