Como: usuário do e-commerce
O quê: eu quero me autenticar no sistema
Por quê: para que eu possa realizar compras
Critérios de Aceitação:
[ ] - Criar o endpoint de autenticação
Request
POST /api/v1/auth/authenticate
{
"username": "user1",
"password": "password"
}
Requisitos:
[ ] 1. Registro de usuário bem-sucedido: O endpoint deve permitir que um novo usuário se registre com sucesso no sistema, fornecendo informações como nome, e-mail e senha
[ ] 2. Login bem-sucedido: O endpoint deve permitir que um usuário registrado faça login com sucesso no sistema, fornecendo suas credenciais de e-mail e senha.
[ ] 3. Token de autenticação válido: Após o login bem-sucedido, o sistema deve gerar e retornar um token de autenticação válido (por exemplo, JWT) para o usuário, que será usado para autorizar solicitações subsequentes.
[ ] 4. Proteção de endpoints: Os endpoints sensíveis (por exemplo, aqueles que lidam com informações do usuário ou operações críticas) devem exigir que o token de autenticação seja incluído no cabeçalho da solicitação para autenticar o usuário.
[ ] 5. Expiração de token: O token de autenticação gerado deve ter um período de expiração configurado, após o qual o usuário precisará fazer login novamente para obter um novo token.
[ ] 6. Tratamento de senhas seguras: O sistema deve garantir que as senhas dos usuários sejam armazenadas de forma segura (por exemplo, usando hash e salt) para proteger contra violações de segurança.
[ ] 7. Validação de campos obrigatórios: O endpoint de autenticação deve validar os campos obrigatórios, como e-mail e senha, e retornar mensagens de erro apropriadas em caso de entrada inválida.
[ ] 8. Gestão de sessão: O sistema deve manter o estado da sessão do usuário após o login, permitindo que o usuário permaneça autenticado entre as solicitações durante um período determinado de tempo.
[ ] 9. Tratamento de erros: O endpoint de autenticação deve retornar códigos de status HTTP adequados e mensagens de erro descritivas em caso de falha no login, registro ou validação.
[ ] 10. Registro de atividades de autenticação: O sistema deve registrar eventos de autenticação, incluindo tentativas bem-sucedidas e falhas de login, para fins de auditoria e segurança.
[ ] 11. Testes de unidade e integração: O endpoint de autenticação deve ser testado adequadamente com casos de teste de unidade e integração para garantir que funcione conforme o esperado em diferentes cenários.
Como: usuário do e-commerce O quê: eu quero me autenticar no sistema Por quê: para que eu possa realizar compras
Critérios de Aceitação:
[ ] - Criar o endpoint de autenticação
Request POST
/api/v1/auth/authenticate
Requisitos: