Este projeto é uma implementação de um sistema de autenticação e geração de Bearer Token para APIs utilizando o framework Spring.
- Spring Boot
- Spring Security
- Spring Data JPA
- Hibernate
- JSON Web Tokens (JWT)
O sistema possui as seguintes funcionalidades:
- Registro de usuários
- Autenticação de usuários
- Geração de Bearer Token
- Verificação de autenticação em rotas protegidas
Após configurar o sistema, você pode realizar as seguintes operações:
Para registrar um usuário, envie uma requisição POST para a rota /salvar com o seguinte corpo:
Exemplo: localhost:8080/usuarios/salvar
Exemplo json para cadastro
{
"name": "Nome do Usuário",
"email": "email@exemplo.com",
"password": "senha123"
}
Para autenticar um usuário, envie uma requisição POST para a rota /# com o seguinte corpo:
Exemplo: localhost:8080/usuarios/#
Exemplo json para autenticação
{
"email": "email@exemplo.com",
"password": "senha123"
}
Se as credenciais estiverem corretas, o sistema retornará um Bearer Token que pode ser utilizado em requisições posteriores.
Para fazer um teste com o token gerado na autenticação tem um endpoint de listar todos os usuarios cadastrados.
Requisição GET /listar.
Exemplo: localhost:8080/usuarios/listar
O token deve ser inserido no headers da requisição da seguinte forma:
Authorization Bearer token
ou da seguinte forma
No postman existe a aba authorization que permite a utilização do token de forma mais simplificada, basta selecionar a aba authorization e selecionar o tipo de autenticação Beared Token, em seguida basta colar o token no campo sem a necessidade de colocar a palavra Bearer no campo.
Se o token estiver correto, o sistema retornará uma resposta com o status 200 OK. Caso contrário, a resposta terá o status 403 Forbidden.