Este é um guia passo a passo para criar uma API de sistema de login utilizando ASP.NET com JWT e autenticação Bearer.
-
Criando o projeto
- Iniciando um novo projeto ASP.NET utilizando o template apropriado.
-
Entity e Value Object
- Criando as classes necessárias para representar as entidades e objetos de valor do seu sistema.
-
String Extension
- Implementando uma extensão de string para funcionalidades auxiliares.
-
Value Object de Email
- Criando um objeto de valor para lidar com endereços de email.
-
Value Object de Verificação de E-mail
- Desenvolvendo um objeto de valor para lidar com a verificação de email.
-
Value Object de Senha
- Criando um objeto de valor para tratar senhas.
-
Gerando senhas aleatórias
- Implementando a geração de senhas aleatórias.
-
Password Hashing
- Desenvolvendo a lógica para o hashing de senhas.
-
Comparando Hashes
- Implementando a comparação de hashes de senhas.
-
Finalizando a entidade User
- Concluindo a implementação da entidade User.
-
Mapeando o User
- Configurando o mapeamento da entidade User para o banco de dados.
-
Criando o DataContext
- Criando o DataContext para interagir com o banco de dados.
-
Configurando a API
- Configurando as opções da API, como roteamento e formatação.
-
Organizando a API
- Organizando os diferentes componentes da sua API em pastas separadas.
-
Gerando o banco de dados
- Utilizando as migrações do Entity Framework para criar o banco de dados.
-
Use Cases
- Definindo os casos de uso da sua aplicação.
-
Response
- Criando as classes de resposta para as operações da API.
-
Compondo a resposta
- Implementando a lógica para compor as respostas da API.
-
Specification
- Desenvolvendo especificações para consulta de dados.
-
Repositórios e Serviços
- Criando os repositórios e serviços necessários para interagir com o banco de dados.
-
Validando a requisição
- Implementando a validação das requisições recebidas.
-
Gerando entidades de value objects
- Criando entidades baseadas nos seus objetos de valor.
-
Interagindo com repositórios
- Desenvolvendo a lógica para interagir com os repositórios.
-
Finalizando o handler
- Concluindo a implementação dos handlers dos casos de uso.
-
Implementando o repositório
- Implementando os métodos dos repositórios.
-
Implementando o serviço
- Desenvolvendo a lógica de negócio nos serviços.
-
Configurando a API
- Configurando as injeções de dependência e outros detalhes da API.
-
Registrando as dependências
- Registrando as dependências da injeção de dependência.
-
Adicionando suporte ao Mediator
- Configurando o Mediator para tratar os comandos e consultas.
-
Criando o método POST
- Criando o método POST para a autenticação.
-
dotnet user secrets
- Utilizando o dotnet user secrets para gerenciar as configurações sensíveis.
-
Testando a API
- Realizando testes para verificar o funcionamento correto da API.
-
Authenticate Use Case
- Implementando o caso de uso de autenticação.
-
Authenticate Handler
- Desenvolvendo o handler para o caso de uso de autenticação.
-
Authenticate Repository
- Implementando a interação com o repositório na autenticação.
-
JWT Service
- Criando um serviço para lidar com tokens JWT.
-
Retornando o Token
- Implementando a geração e retorno do token JWT.
-
Criando Roles
- Criando papéis (roles) para gerenciar as permissões.
-
Mapeando Roles
- Realizando o mapeamento dos papéis.
-
Recuperando os Roles
- Implementando a lógica para recuperar os papéis do usuário.
-
Adicionando Roles ao Token
- Adicionando informações de papéis ao token JWT.
-
Utilizando os Roles
- Protegendo as rotas da API utilizando a autenticação por papéis.
![]() Elves Brito |
Esse projeto está sob licença. Veja o arquivo LICENÇA para mais detalhes.
