https://github.com/maxjdev/twitter_simplificado-com-spring_security-oatuh2-mysql
Configuration study and best practices for authentication and authorization
https://github.com/maxjdev/twitter_simplificado-com-spring_security-oatuh2-mysql
docker java jwt mysql oauth2 spring-security
Last synced: about 2 months ago
JSON representation
Configuration study and best practices for authentication and authorization
- Host: GitHub
- URL: https://github.com/maxjdev/twitter_simplificado-com-spring_security-oatuh2-mysql
- Owner: maxjdev
- Created: 2024-09-08T20:44:34.000Z (almost 2 years ago)
- Default Branch: main
- Last Pushed: 2024-09-08T23:48:58.000Z (almost 2 years ago)
- Last Synced: 2025-02-22T07:41:59.066Z (over 1 year ago)
- Topics: docker, java, jwt, mysql, oauth2, spring-security
- Language: Java
- Homepage:
- Size: 23.4 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# Twitter simplificado com Spring Security e OAuth2-ResourceServer




## Descrição
Este projeto é uma implementação simplificada do Twitter, onde usuários podem criar contas, fazer login, postar "tweets" e visualizar um feed de tweets. A aplicação utiliza o Spring Boot como framework principal e o Spring Security para gerenciar autenticação e autorização via tokens JWT. A autenticação é implementada usando o OAuth2 Resource Server, e a aplicação está preparada para funcionar em ambientes containerizados usando Docker.
## Tecnologias e Dependências do projeto
- **Java:** Linguagem usada no projeto.
- **Spring Boot:** Framework para construção de aplicações web e microserviços.
- **Spring Web:** Para criação de APIs RESTful.
- **Spring Security:** Para gerenciar autenticação e autorização.
- **OAuth2 Resource Server:** Implementação de autenticação baseada em tokens JWT.
- **MySQL:** Banco de dados relacional utilizado.
- **Docker:** Containerização da do banco de dados.
- **Maven:** Ferramenta de build e gerenciamento de dependências.
## Teste o projeto
1. Certifique-se de que o Docker e o Docker Compose estejam instalados em sua máquina.
2. Navegue até o diretório do projeto em seu terminal e execute o seguinte comando para iniciar os contêineres:
```bash
docker-compose up -d
```
3. Inicie o aplicativo Spring Boot usando o comando:
```bash
mvn spring-boot:run
```
4. Teste os endpoints.
## Endpoints para teste
| Route | Description |
|--------------------------------|---------------------------------------------------------|
| POST /login | Realiza login e retorna um token JWT. |
| POST /users | Cria um novo usuário. |
| POST /tweets | Cria um novo tweet. |
| GET /feed | Lista os tweets mais recentes em formato paginado. |
| DELETE /tweets/{id} | Exclui um tweet existente. |
| GET /users | Lista todos os usuários (somente para administradores). |
## Contruibuição
- Para contribuir, bifurque este repositório e envie suas alterações por meio de pull requests.
- Para relatórios de bugs ou sugestões de melhorias, abra um problema na página do projeto.