Skip to content

Latest commit

 

History

5 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

NodeAuthDB

API de autenticação em Node.js utilizando SQLite para armazenamento e JWT para proteção de rotas. Simples, leve e funcional, ideal para aprendizado e pequenos projetos.


Tecnologias utilizadas

  • Node.js
  • Express
  • JWT (jsonwebtoken)
  • SQLite (better-sqlite3)
  • dotenv
  • cors

Funcionalidades

  1. Cadastro de usuário
  2. Login com geração de token JWT
  3. Rota protegida (/auth/me) acessível apenas com token válido

Estrutura do projeto

NodeAuthDB/
│
├─ src/
│  ├─ app.js                 # Configuração do servidor e banco SQLite
│  ├─ routes/
│  │  └─ authRoutes.js       # Rotas de autenticação
│  ├─ controllers/
│  │  └─ authController.js   # Lógica de cadastro, login e rota protegida
│  └─ middleware/
│     └─ authMiddleware.js   # Validação do token JWT
│
├─ .env                      # Variáveis de ambiente
├─ package.json              # Dependências e scripts
└─ authx.db                  # Banco SQLite (gerado automaticamente)

Instalação

  1. Clone o repositório:
git clone https://github.com/caioreis29974/NodeAuthDB.git
cd NodeAuthDB
  1. Instale as dependências:
npm install
  1. Configure as variáveis de ambiente criando um arquivo .env:
PORT=3000
JWT_SECRET=meusegredo
DB_FILE=./authx.db

Rodando o projeto

npm start

Você verá a mensagem:

Servidor rodando na porta 3000

Rotas da API

1. Cadastro

POST /auth/register

Body (JSON):

{
  "email": "usuario@exemplo.com",
  "password": "123456"
}

Resposta:

{
  "message": "Usuário registrado com sucesso"
}

2. Login

POST /auth/login

Body (JSON):

{
  "email": "usuario@exemplo.com",
  "password": "123456"
}

Resposta:

{
  "token": "SEU_TOKEN_JWT_AQUI"
}

3. Rota protegida

GET /auth/me

Headers:

Authorization: Bearer <SEU_TOKEN_JWT_AQUI>

Resposta:

{
  "id": 1,
  "email": "usuario@exemplo.com"
}

Observações

  • O banco SQLite (authx.db) é criado automaticamente na primeira execução.
  • O JWT expira em 1 hora, mas você pode alterar isso no authController.js.

Licença

MIT License

About

API de autenticação em Node.js utilizando SQLite para armazenamento e JWT para proteção de rotas. Simples, leve e funcional.

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages