Esta API foi desenvolvida em JavaScript/Node.js e fornece acesso ao recurso validação de login, gerando um token de autenticação com JWT. Utiliza Express para o roteamento e manipulação de requisições HTTP, Bcrypt.js para a criptografia de senhas e MongoDB como banco de dados.
Versão 1.0.1 -> fix: Fixed CORS | build: add new scripts in package.json
Certifique-se de configurar o arquivo .env na raiz do projeto com as seguintes variáveis:
PORT = 3000
MONGO_DB_URI = seu_mongodb_uri
JWT_SECRET = seu_jwt_secret
- Endpoint:
/api/auth/signup - Método HTTP: POST
- Descrição: Cria um novo usuário e gera um token JWT que pode ser usado em recursos protegidos.
username: O username do usuário.password: A senha do usuário.confirmPassword: A confirmação da senha do usuário.
POST /api/auth/signup
{
"username": "username_exemplo",
"password": "senha123",
"confirmPassword": "senha123"
}{
"_id": "65d65e839cc9cf98766173e2c",
"username": "username_exemplo",
"mensagem": "Usuário username_exemplo registrado com sucesso!"
}- Endpoint:
/api/auth/login - Método HTTP: POST
- Descrição: Autentica um usuário e gera um token JWT que pode ser usado em recursos protegidos.
username: O username do usuário.password: A senha do usuário.
POST /api/auth/login
{
"username": "username_exemplo",
"password": "senha123",
}{
"_id": "65d65e839cc9cf98766173e2c",
"username": "username_exemplo",
"mensagem": "Login feito com sucesso!"
}- Endpoint:
/api/auth/logout - Método HTTP: POST
- Descrição: Encerra a seção do usuário, apagando também o token JWT.
POST /api/auth/logout{
"message": "Logout feito com sucesso!"
}- Você pode encontrar a URI do MongoDB no serviço de hospedagem do MongoDB que você está utilizando ou no seu ambiente de desenvolvimento local
- Você pode gerar um JWT secret seguro usando uma biblioteca de geração de segredos aleatórios e armazená-los em uma variável de ambiente protegida;
- Você pode gerar também passando o seguinte comando no seu termnial bash (pode ser o do git):
openssl rand -base64 32, na qual irá retornar um JWT secret de 32 caracteres.