Skip to content

Este projeto é uma aplicação de exemplo em NestJS que implementa autenticação de usuários utilizando bcrypt, Passport, JWT e cookies. A aplicação permite que usuários se registrem, façam login e acessem rotas protegidas.

Notifications You must be signed in to change notification settings

diogofelizardo/autenticando-usuarios-no-nestjs

Repository files navigation

README

Auth App

Este projeto é uma aplicação de exemplo em NestJS que implementa autenticação de usuários utilizando bcrypt, Passport, JWT e cookies. A aplicação permite que usuários se registrem, façam login e acessem rotas protegidas.

Funcionalidades

  • Registro de Usuários: Permite que novos usuários se registrem com uma senha criptografada.
  • Login de Usuários: Autentica usuários e gera um token JWT armazenado em um cookie HTTP-only.
  • Rota Protegida: Apenas usuários autenticados podem acessar rotas protegidas, como o perfil do usuário.

Tecnologias Utilizadas

Instalação

  1. Clone o repositório:

    git clone https://github.com/seu-usuario/auth-app.git
    cd auth-app
  2. Instale as dependências:

    npm install
  3. Inicie a aplicação:

    npm run start

    A aplicação estará disponível em http://localhost:3000.

Testando a API

Após configurar a autenticação, vamos testar os endpoints utilizando ferramentas como Postman ou cURL.

1. Registro de Usuário

Requisição:

POST /auth/register
Content-Type: application/json

{
  "username": "diogo",
  "password": "senhaSegura123"
}

Resposta:

{
  "message": "Usuário registrado com sucesso",
  "user": {
    "id": 1,
    "username": "diogo",
    "password": "$2b$10$..."
  }
}

2. Login

Requisição:

POST /auth/login
Content-Type: application/json

{
  "username": "diogo",
  "password": "senhaSegura123"
}

Resposta:

{
  "message": "Login realizado com sucesso"
}

Cookie:

Set-Cookie: jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6...; HttpOnly

3. Acessando uma Rota Protegida

Requisição:

GET /users/profile
Cookie: jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6...

Resposta:

{
  "userId": 1,
  "username": "diogo"
}

Contribuição

Sinta-se à vontade para contribuir com melhorias ou reportar issues.

Licença

Este projeto está licenciado sob a licença MIT.

About

Este projeto é uma aplicação de exemplo em NestJS que implementa autenticação de usuários utilizando bcrypt, Passport, JWT e cookies. A aplicação permite que usuários se registrem, façam login e acessem rotas protegidas.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published