phbodias / backend-autentication-with-jwt

backend para autenticação com node e jwt

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Cadastro de usuários e autenticação com node e jwt

Backend em typescript para autenticação com jwt, feito para ser reaproveitado em outros códigos,

📋 Descrição

Sendo a autenticação (registro e login de usuários) uma feature quase que onipresente em todos os websites, a proposta deste repositório é poupar tempo. A ideia é fornecer o escopo para a implementação da feature, que deve ser alterada de acordo com as preferências do programador. A arquitetura do código é disposta em camadas (Rotas -> Controladores -> Serviços -> Repositórios, com alguns middlewares).


💻 Tecnologias e Conceitos

  • REST APIs
  • JWTs tokens
  • Node.js
  • TypeScript
  • Prisma ORM
  • Testes de integração com Jest e Supertest

🚀 Rotas

POST /sign-up
    - Rota para registrar novo usuário
    - headers: {}
    - body:{
        "name": "lorem",
        "email": "lorem@gmail.com",
        "password": "loremipsum", 
        "repeatPassword": "loremipsum",
      }
POST /sign-in
    - Rota para logar usuário
    - headers: {}
    - body: {
        "email": "lorem@gmail.com",
        "password": "loremipsum"
     }
    - retorna um token jwt, que deve ser utilizado para acessar rotas autenticadas da aplicação.
GET /authenticated (authenticated)
    - Rota de exemplo de aplicação do token jwt
    - headers: { "Authorization": "Bearer $token" }
    - body: {}

🏁 Rodando a aplicação

Certifique-se que você possui a última versão estável do Node.js e npm rodando localmente.

Clone este repositório em sua máquina:

git clone https://github.com/phbodias/backend-autentication-with-jwt.git

Dentro da pasta do projeto, rode o seguinte comando para instalar as dependências necessárias:

npm install

Crie e configure um arquivo ".env", com base no arquivo ".env-example"

Feito isso, rode a aplicação com:

npm start

Para rodar os testes de integração, crie e configure um arquivo ".env.test", com base no arquivo ".env-example"

Feito isso, utilize o comando:

npm run test:integration

Caso fique em dúvidas em relação à algum conceito sobre jwt, você pode acessar a documentação em jwt-node.

About

backend para autenticação com node e jwt


Languages

Language:TypeScript 98.1%Language:JavaScript 1.9%