Demostração da implementação de segurança usando Spring Boot 3.0 e JSON Web Tokens (JWT).
-
Cadastro de usuário e login com autenticação JWT;
-
Criptografia de senha usando BCrypt;
-
Autorização baseada em função com Spring Security;
-
Tratamento personalizado de negação de acesso;
-
Spring Boot 3.0
-
Spring Security
-
JSON Web Tokens (JWT)
-
BCrypt
-
Maven
Você precisará ter o seguinte instalado em sua máquina local:
-
Java JDK 17+
-
Docker
-
Clone o repositório:
git clone https://github.com/natanaelsc/spring-boot-3-jwt-security.git
-
Navegue até o diretório do projeto:
cd spring-boot-3-security-jwt
-
Execute o compose:
docker compose up -d
-
Compile o projeto:
./mvnw clean install
-
Execute o projeto:
./mvnw spring-boot:run
Utilize um cliente de requisições HTTP como o Postman ou a extensão REST Client para VSCode e faça os testes no arquivo api.rest.
- Protegido
GET http://localhost:8080/api/v1/demo-controller HTTP/1.1
Authorization: Bearer {{token}}
- Autenticação
POST http://localhost:8080/api/v1/auth/authenticate HTTP/1.1
Content-Type: application/json
{
"email": "test@email.com",
"password": "test123"
}
- Registro
POST http://localhost:8080/api/v1/auth/register HTTP/1.1
Content-Type: application/json
{
"fistName": "test",
"lastName": "test",
"email": "test@email.com",
"password": "test123"
}
- Amigoscode - Spring Boot 3 + Spring Security 6 - JWT Authentication and Authorisation [NEW] [2023] - https://www.youtube.com/watch?v=KxqlJblhzfI