Skip to content

Este é um projeto simples que implementa um sistema de login e registro utilizando TypeScript e Mongoose. O objetivo é demonstrar como criar uma API básica para gerenciar usuários, incluindo a criação, autenticação e armazenamento de dados em um banco de dados MongoDB.

Notifications You must be signed in to change notification settings

RebornRS/auth-easy-typescript

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

7 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Sistema de Login e Registro em TypeScript com Mongoose

Este é um projeto simples que implementa um sistema de login e registro utilizando TypeScript, Mongoose e bcrypt. O objetivo é demonstrar como criar uma API básica para gerenciar usuários, incluindo a criação, autenticação e armazenamento de dados em um banco de dados MongoDB.

Tecnologias Utilizadas

  • TypeScript: Para garantir um código mais seguro e legível.
  • Node.js: Ambiente de execução JavaScript no servidor.
  • Express: Framework para construir a API.
  • Mongoose: ODM para MongoDB, que facilita a manipulação de dados.
  • jsonwebtoken: Para criação e verificação de tokens JWT.
  • bcrypt: Para hash de senhas e aumentar a segurança no armazenamento de senhas.

Funcionalidades

  • Registro de novos usuários com hash de senha utilizando bcrypt.
  • Login de usuários existentes.
  • Colher informações do usuário.
  • Proteção de rotas com autenticação JWT.
  • Validação de entradas.

Pré-requisitos

  • Node.js e npm instalados.
  • MongoDB em execução (localmente ou em um serviço de nuvem).

Instalação

  1. Clone o repositório:

    git clone https://github.com/rebornrs/auth-easy-typescript.git
    cd auth-easy-typescript
  2. Instale as dependências:

    npm install
  3. Configure as variáveis de ambiente:

    Crie um arquivo .env na raiz do projeto e adicione as seguintes variáveis:

    MongoServer = sua_string_de_conexão_do_mongodb
    SecretOrPrivateKey = sua_chave_secreta
    
  4. Inicie o servidor:

    npx nodemon

O servidor estará disponível em http://localhost:3000.

Rotas

  • POST /api/user/register: Registra um novo usuário com senha protegida por bcrypt.
  • POST /api/user/auth: Faz login e retorna um token JWT.
  • GET /api/user/info: Rota protegida, requer autenticação. Você deve incluir um Authorization Bearer no cabeçalho da requisição.

Exemplos de Requisições

Registro de Usuário

curl --location 'http://127.0.0.1:3000/api/user/register' \
--header 'Content-Type: application/json' \
--data '{
    "username": "rebornrs",
    "password": "password_here"
}'

Autenticação de Usuário

curl --location 'http://127.0.0.1:3000/api/user/auth' \
--header 'Content-Type: application/json' \
--data '{
    "username": "rebornrs",
    "password": "password_here"
}'

Obter Informações do Usuário

curl --location 'http://127.0.0.1:3000/api/user/info' \
--header 'Authorization: Bearer seu_token_jwt_aqui'

Contribuição

Sinta-se à vontade para contribuir com melhorias ou correções. Faça um fork do repositório e envie um pull request.

About

Este é um projeto simples que implementa um sistema de login e registro utilizando TypeScript e Mongoose. O objetivo é demonstrar como criar uma API básica para gerenciar usuários, incluindo a criação, autenticação e armazenamento de dados em um banco de dados MongoDB.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published