Skip to content

Rotina de login utilizando Fastify com autenticação JWT

Notifications You must be signed in to change notification settings

mferreiradb/loginRoutineFastify

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

11 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Projteto de rotina de login com Fastify

Projeto backend para rotina de login com Fastify

Badge Badge Badge Badge Badge Badge Badge Badge

O projeto tem o objetivo de fornecer um template para implementação de uma rotina de login utilizando Fastfy, Prisma e JWT

Instalação de dependências

  • Typescript

      npm i -D typescript
    
    • Iniciar ts.config

      npx tsc --init
      
  • Ts Node Dev

      npm i -D ts-node-dev
    
  • Fastify

      npm i fastify
    
  • Prisma

      npm install prisma --save-dev
    
  • Prisma Client

      npm install @prisma/client
    
  • JWT

      npm i --save jsonwebtoken
    

Iniciar prisma

  • Podemos iniciar o prisma sem determinar um banco de dados, de forma que virá por padão o definido na CLI

    npx prisma init

  • Podemos iniciar o prisma com um banco de dados de nossa preferencia

    • Neste caso, estou utilizando Sqlite

      npx prisma init --datasource-provider sqlite
      

Rotas da aplicação

Usuários

  • POST /users

    • Criação de usuário
      • Obrigatório o envio dos dados login e password pelo body da aplicação
        • O campo login é único. Logo, não será possível realizar a criação de um usuário que já possui um login existente
  • POST /users/login/

    • Realiza o login, retornando o token JWT para uso nas autenticações
      • Obrigatório o envio dos dados login e password pelo body da aplicação
  • PATCH /users/:idUser/

    • Altera os dados do usuário
      • Obrigatório o envio de ao menos um dos dados: login e password pelo body da aplicação
        • Caso não seja passado nenhum dos dados, retorna um erro
      • Obrigatória a validação do token JWT nos headers da aplicação
  • DELETE /users/:idUser/

    • Exclui o usuário informado nos parametros da rota
      • Deve ser informado no parametro da rota o id do usuário que deve ser excluído
      • Obrigatória a validação do token JWT nos headers da aplicação

Features

Usuários

  • Deve ser possível criar um usuário

  • Deve ser possível realizar o Login do usuário e gerar o token JWT

  • Deve ser possível alterar os dados do usuário

  • Deve ser possível excluir um usuário

  • Implementação de Hash de senha

About

Rotina de login utilizando Fastify com autenticação JWT

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors