Registro e Autenticação
Esta seção detalha os endpoints para registro de novos usuários e autenticação de usuários existentes na plataforma FitLocus.Registro de Usuário
Endpoint
Parâmetros da Requisição
O corpo da requisição deve conter um objeto JSON com os seguintes campos:| Campo | Tipo | Obrigatório | Descrição |
|---|---|---|---|
| name | string | Sim | Nome completo do usuário |
| string | Sim | Email do usuário (deve ser único) | |
| password | string | Sim | Senha do usuário (mínimo 6 caracteres) |
| userType | string | Sim | Tipo de usuário: “ALUNO” ou “PERSONAL” |
| requestLocation | string | Sim | Origem do registro: “APP” ou “WEB” |
| confirmed | boolean | Sim | Se o email já foi confirmado (true para web, false para app) |
Exemplo de Requisição
Resposta de Sucesso
Código: 201 CreatedRespostas de Erro
Código: 400 Bad RequestLogin com Email e Senha
Endpoint
Parâmetros da Requisição
O corpo da requisição deve conter um objeto JSON com os seguintes campos:| Campo | Tipo | Obrigatório | Descrição |
|---|---|---|---|
| string | Sim | Email do usuário | |
| password | string | Sim | Senha do usuário |
Exemplo de Requisição
Resposta de Sucesso
Código: 200 OKRespostas de Erro
Código: 400 Bad RequestLogin com Firebase
Endpoint
Parâmetros da Requisição
O corpo da requisição deve conter um objeto JSON com os seguintes campos:| Campo | Tipo | Obrigatório | Descrição |
|---|---|---|---|
| firebaseToken | string | Sim | Token gerado pelo Firebase Authentication |
Exemplo de Requisição
Resposta de Sucesso
Código: 200 OKRespostas de Erro
Código: 400 Bad RequestRenovação de Token
Endpoint
Cabeçalhos da Requisição
| Cabeçalho | Valor | Descrição |
|---|---|---|
| Authorization | Bearer | Token JWT atual |
Exemplo de Requisição
Resposta de Sucesso
Código: 200 OKRespostas de Erro
Código: 401 UnauthorizedLogout
Endpoint
Cabeçalhos da Requisição
| Cabeçalho | Valor | Descrição |
|---|---|---|
| Authorization | Bearer | Token JWT atual |
Exemplo de Requisição
Resposta de Sucesso
Código: 200 OKRespostas de Erro
Código: 401 UnauthorizedRecuperação de Senha
Endpoint para Solicitar Recuperação
Parâmetros da Requisição
O corpo da requisição deve conter um objeto JSON com os seguintes campos:| Campo | Tipo | Obrigatório | Descrição |
|---|---|---|---|
| string | Sim | Email do usuário |
Exemplo de Requisição
Resposta de Sucesso
Código: 200 OKRespostas de Erro
Código: 404 Not FoundEndpoint para Redefinir Senha
Parâmetros da Requisição
O corpo da requisição deve conter um objeto JSON com os seguintes campos:| Campo | Tipo | Obrigatório | Descrição |
|---|---|---|---|
| token | string | Sim | Token de recuperação recebido por email |
| password | string | Sim | Nova senha (mínimo 6 caracteres) |
Exemplo de Requisição
Resposta de Sucesso
Código: 200 OKRespostas de Erro
Código: 400 Bad RequestImplementação no Frontend
Registro de Usuário
Login
Login com Firebase
Logout
Considerações de Segurança
- Validação de Dados: Todos os dados de entrada são validados tanto no frontend quanto no backend para prevenir injeção de dados maliciosos.
- Proteção de Senhas: As senhas são armazenadas utilizando o algoritmo BCrypt para hash seguro.
- HTTPS: Todas as comunicações com a API devem ser realizadas através de HTTPS para proteger dados sensíveis durante a transmissão.
- Tokens JWT: Os tokens JWT têm validade limitada (24 horas) e são assinados com uma chave secreta.
- Rate Limiting: A API implementa limitação de taxa para prevenir ataques de força bruta em endpoints de autenticação.
- Confirmação de Email: Para registros via aplicativo móvel, é enviado um email de confirmação para verificar a identidade do usuário.
- Recuperação de Senha: O processo de recuperação de senha utiliza tokens de uso único com validade limitada.
Troubleshooting
Problemas Comuns
- “Email já registrado”: Tente fazer login com o email ou utilize a funcionalidade de recuperação de senha.
- “Credenciais inválidas”: Verifique se o email e senha estão corretos. Caso tenha esquecido a senha, utilize a funcionalidade de recuperação.
- “Token inválido ou expirado”: Faça login novamente para obter um novo token.
- “Usuário não encontrado”: Verifique se o email está correto ou registre-se como um novo usuário.
Depuração
Para depurar problemas de autenticação:- Verifique os logs do console para mensagens de erro detalhadas
- Utilize ferramentas como o Postman para testar os endpoints diretamente
- Verifique se o token JWT está sendo enviado corretamente no cabeçalho Authorization
- Decodifique o token JWT em jwt.io para verificar as claims