Skip to content

Cunhaww-dev/jwt

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

12 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

JWT API

API REST com autenticação JWT construída com Node.js, TypeScript e Express.

Tecnologias

  • Node.js + TypeScript
  • Express 5
  • jsonwebtoken — geração e validação de tokens JWT
  • tsx — execução em desenvolvimento
  • tsup — build para produção

Requisitos

  • Node.js 20+
  • npm
  • nvm

Instalação

nvm use
npm install

Crie um arquivo .env na raiz do projeto:

AUTH_SECRET=sua_chave_secreta_aqui

Scripts

Comando Descrição
npm run dev Inicia o servidor em modo watch
npm run build Compila para dist/
npm run start Executa o build de produção

Endpoints

Autenticação

POST /sessions

Realiza login e retorna um token JWT.

Body:

{
  "username": "Fabri test",
  "password": "123456"
}

Resposta:

{
  "token": "eyJhbGci..."
}

Produtos

GET /products

Lista produtos. Rota pública.


POST /products

Cria um produto. Requer autenticação e role sale, admin ou master.

Headers:

Authorization: Bearer <token>

Estrutura

src/
├── config/
│   └── auth.ts               # Configuração do JWT
├── controllers/
│   ├── products-controller.ts
│   └── sessions-controller.ts
├── middlewares/
│   ├── ensureAuthenticated.ts  # Valida o token JWT
│   └── verifyUserAuthorization.ts  # Valida o role do usuário
├── routes/
│   ├── index.ts
│   ├── products.routes.ts
│   └── session.routes.ts
├── types/
│   └── express.ts            # Extensão do Request com user autenticado
├── utils/
│   └── AppError.ts           # Classe de erro com statusCode HTTP
├── app.ts                    # Configuração do Express
└── server.ts                 # Ponto de entrada

About

REST API with JWT authentication, role-based authorization and typed middlewares, built with Node.js, TypeScript and Express 5

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors