Este projeto é uma API desenvolvida utilizando Java, Spring Boot, Flyway Migrations, PostgreSQL como banco de dados e Spring Security com JWT para controle de autenticação.
- Clone o repositório:
git clone https://github.com/pedrosoaresdev/authjwt
-
Instale as dependências com Maven.
-
Instale o PostgreSQL.
- Inicie a aplicação com Maven.
- A API estará acessível em: http://localhost:8080.
A API fornece os seguintes endpoints:
GET /product - Retorna uma lista de todos os produtos (acessível por todos os usuários autenticados).
POST /product - Registra um novo produto (somente usuários com acesso ADMIN).
POST /auth/login - Faz login no aplicativo.
POST /auth/register - Registra um novo usuário no aplicativo.
A API utiliza Spring Security para controle de autenticação. Os seguintes papéis (roles) estão disponíveis:
USER -> Papel padrão para usuários logados.
ADMIN -> Papel de administrador para gerenciar parceiros (registrar novos parceiros).
Para acessar endpoints protegidos como um usuário ADMIN, forneça as credenciais de autenticação apropriadas no cabeçalho da requisição.
O projeto utiliza PostgreSQL como banco de dados. As migrações necessárias do banco são gerenciadas pelo Flyway.
Contribuições são bem-vindas! Se você encontrar algum problema ou tiver sugestões de melhorias, abra uma issue ou envie um pull request para o repositório.
Ao contribuir para este projeto, siga o estilo de código existente, as convenções de commit e envie suas alterações em um branch separado.