Express - v4.19.2
Mongoose - v8.3.2
bcrypt - v5.1.1
JSON Web Token - v9.0.2 npm - v10.2.3
- Clone esse repositório:
git clone https://github.com/sntpwbl/projeto-integrador-2dm.git - Navegue até o diretório gerado:
cd projeto-integrador-2dm - Instale as dependências da API:
npm install - Crie uma pasta com o nome 'config' e dentro dela um arquivo '.env'. Dentro do arquivo, crie duas variáveis:
1) MONGODB_STRING (use a string de conexão com seu banco Mongo)
2) SECRET (crie uma string que servirá como o secret de seus tokens) - Inicie o servidor:
npm start
POST /auth/cadastrar: Cadastra um novo usuário no sistema:

POST /auth/login: Retorna um token de acesso baseado no secret da aplicação caso os dados do usuário estejam corretos. Este token contém o ID do usuário dentro do banco:

PATCH /auth/senha: Altera a senha de um usuário cadastrado no sistema:

GET /user/:id: Retorna os dados relacionados à um usuário:

PATCH /user/:id: Atualiza dados específicos de um usuário:
Apesar da imagem mostrar uma requisição PUT, use PATCH.
DELETE /user/:id: Deleta usuário do sistema:

- Todas as rotas /api/user/:id vão requerir um token para serem executadas com sucesso. Você pode armazenar o token do usuário no armazenamento local ou em memória para utilizá-lo nessas requisições. Envie-o pelo cabeçalho da requisição no campo 'Authorization';
- Os tokens emitidos na rota de login contém o id do usuário. Descriptografe o token (recomendação: jwt-decode) e abstraia o valor do id para usá-lo nas rotas. Ainda assim é necessário enviar o token na requisição. O token enviado na requisição deve conter o id usado nos parâmetros da rota.