https://github.com/keyllian7/node-auth-system
Sistema básico de autenticação de usuários desenvolvido em Node.js, com funcionalidades de registro (register) e login. Inclui a criação de contas, armazenamento seguro de senhas, validação de credenciais e autenticação. Ideal como ponto de partida para projetos que necessitem de um sistema de gerenciamento de usuários.
https://github.com/keyllian7/node-auth-system
completed node
Last synced: about 2 months ago
JSON representation
Sistema básico de autenticação de usuários desenvolvido em Node.js, com funcionalidades de registro (register) e login. Inclui a criação de contas, armazenamento seguro de senhas, validação de credenciais e autenticação. Ideal como ponto de partida para projetos que necessitem de um sistema de gerenciamento de usuários.
- Host: GitHub
- URL: https://github.com/keyllian7/node-auth-system
- Owner: Keyllian7
- License: mit
- Created: 2024-12-25T20:35:19.000Z (over 1 year ago)
- Default Branch: main
- Last Pushed: 2025-01-02T02:00:05.000Z (over 1 year ago)
- Last Synced: 2025-01-02T03:17:02.897Z (over 1 year ago)
- Topics: completed, node
- Language: JavaScript
- Homepage:
- Size: 134 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# Node-Auth-System
Sistema básico de autenticação de usuários desenvolvido em Node.js, com funcionalidades de registro (register) e login. Inclui a criação de contas, armazenamento seguro de senhas, validação de credenciais e autenticação. Ideal como ponto de partida para projetos que necessitem de um sistema de gerenciamento de usuários.
## Funcionalidades
- Registro de novos usuários
- Login de usuários
- Listagem de usuários (apenas para administradores)
- Atualização de informações de usuários
- Remoção de usuários
- Proteção de rotas com autenticação JWT
- Limitação de taxa de requisições
- Sanitização de entradas para evitar XSS
- Documentação da API com Swagger
## Tecnologias Utilizadas
- Node.js
- Express
- Mongoose
- JWT (JSON Web Token)
- Joi (validação)
- Bcrypt (hashing de senhas)
- Helmet (segurança)
- XSS-Clean (sanitização)
- Express-Rate-Limit (limitação de taxa)
- Swagger (documentação da API)
## Instalação
1. Clone o repositório:
```sh
git clone https://github.com/seu-usuario/node-auth-system.git
```
2. Navegue até o diretório do projeto:
```sh
cd node-auth-system
```
3. Instale as dependências:
```sh
npm install
```
4. Crie um arquivo [.env](http://_vscodecontentref_/0) na raiz do projeto e adicione as seguintes variáveis de ambiente:
```env
PORT=8081
JWT_PASSWORD=sua_senha_jwt
DATABASE_URL=sua_url_do_banco_de_dados
NODE_URL=development
```
5. Inicie o servidor:
```sh
npm start
```
## Endpoints da API
### Autenticação
- **POST /auth/register**: Registra um novo usuário.
- **POST /auth/login**: Realiza o login de um usuário.
### Usuários
- **GET /user/list**: Lista todos os usuários (apenas para administradores).
- **PATCH /user/update/:id**: Atualiza as informações de um usuário.
- **DELETE /user/remove/:id**: Remove um usuário.
## Documentação da API
A documentação da API está disponível em `/api-docs` após iniciar o servidor. Ela é gerada automaticamente pelo Swagger.
## Testes
Para rodar os testes, utilize o comando:
```
npm test
```
## Licença
Este projeto está licenciado sob a licença MIT. Veja o arquivo LICENSE para mais detalhes.
## Contribuição
Contribuições são bem-vindas! Sinta-se à vontade para abrir issues e pull requests.
## Autor
Keyllian Azevedo