Este repositório contém o microserviço de autenticação (Auth Service) do projeto FIAP X, responsável por realizar o registro, login e validação de tokens JWT dos usuários. Ele fornece autenticação centralizada para todos os demais serviços da aplicação.
O serviço é desenvolvido em FastAPI, com persistência dos dados em PostgreSQL e geração de tokens usando JWT.
- FastAPI (Framework web Python)
- JWT (python-jose) (Geração e validação de tokens)
- SQLAlchemy (ORM para integração com o banco)
- PostgreSQL (Banco relacional)
- Docker (Containerização)
- Docker Compose (Orquestração dos serviços)
O Auth Service é acessado pelo API Gateway e responde pelas rotas /auth/register
, /auth/login
e /auth/me
. Abaixo, o contexto geral da arquitetura:
auth-service/
├── app/
│ ├── main.py # Inicialização da aplicação
│ ├── controllers/
│ │ └── auth_controller.py # Rotas de registro, login e perfil
│ ├── services/
│ │ ├── auth_service.py # Hash de senha e validação
│ │ └── jwt_service.py # Geração e verificação do JWT
│ ├── models/
│ │ └── user.py # Modelagem da entidade User
│ └── db.py # Conexão e inicialização do banco
├── requirements.txt # Dependências do Python
├── Dockerfile # Container da aplicação
└── docker-compose.yml # Orquestração local (opcional)
- Geração de token JWT no login
- Validação do token em rotas privadas via middleware no API Gateway
- Senhas protegidas com
bcrypt
usandopasslib
docker compose up auth
Certifique-se de que o banco fiapx
esteja acessível na mesma rede Docker.