Skip to content

Uma API que gerencia o login, cria um usuário no mongoDB, autêntica a seção com token JWT, tem uma rota protegida para para usuários logados, e uma outra só para admin.

Notifications You must be signed in to change notification settings

devsp-estudos/login-jwt-api

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

16 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

📌 índice

  1. Objetivo do Projeto
  2. Sobre
  3. Tecnologias Utilizadas
  4. Requisitos
  5. Rodar o Projeto
  6. Resultado
  7. Redes Sociais

🎯 Objetivo do Projeto

Uma API que gerencia o login, cria um usuário no mongoDB, autêntica a seção com token JWT, tem uma rota protegida para para usuários logados, e uma outra só para admin.

📃 Sobre

Essa foi uma API criada no Curso Desenvolvimento Web Full Stack do ProgramadorBR, a parte do login não foi novidade, inclusive tem uma API de login ate mais completa aqui no meu GItHub, mas trabalhar com variaveis de ambiente foi novo pra mim, é algo bem simples e muito fácil de configurar, mas foi o primeiro projeto que eu usei de fato elas, uma lib muito legal usada aqui tambem foi a @hapi/joi, ela é usada pra validar os dados no backend quando eles chegam do front, esse é um projeto simples e pequeno mas que abordou coisas novas para mim.

🚀 Tecnologias Utilizadas

Dependências

⚙️ Requisitos

Arquivos:

  • É necessario criar um arquivo .env na pasta raiz do projeto ./.
  • Conteudo do arquivo .env:
  • PORT, vai determinar a porta que a API vai rodar.
  • MONGO_URL, Url de conexão com o banco mongo, seja local ou no Atlas.
  • TOKEN_SECRET, é o hash da aplicação para gerar o token.
    • vc pode gerar um hash md5 Aqui.

▶️ Rodar o Projeto

  • Primeiro passo, clone ou baixe o projeto em sua maquina
  • Abra a pasta do projeto no terminal
  • Instale as dependências com o comando npm i
  • Inicie o servidor com o comando npm start
  • A aplicação estara disponível na porta: PORT que foi criada no arquivo .env

⌨️ Resultado

OBS: A porta vai variar dependendo da porta que foi usada no arquivo .env, nesse exemplo eu estou usando a porta 3000 pois foi a que eu defini no arquivo .env

Rotas para lidar com a autenticação:

    // (POST) --- Rota de registro:
    'http://localhost:3000/user/register'

    // Objeto usuario:
    {
        "name": "devsp",
        "email": "devsp@teste.com",
        "password": "123456"
    }

    // (POST) --- Rota de autenticação:
    'http://localhost:3000/user/login'

    // Objeto autenticação:
    {
        "email": "devsp@teste.com",
        "password": "123456"
    }

Rotas protegidas:

    // (GET) --- Rota para acesso do admin:
    'http://localhost:3000/admin'

    // (GET) --- Rota para qualquer usuário logado:
    'http://localhost:3000/admin/free'

👨‍💻 Redes Sociais


Feito com 💜 por DevSp

About

Uma API que gerencia o login, cria um usuário no mongoDB, autêntica a seção com token JWT, tem uma rota protegida para para usuários logados, e uma outra só para admin.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published