GithubHelp home page GithubHelp logo

jwt-rocketseat's Introduction

JWT - Autenticação e melhores práticas

Repositório do Workshop de melhores práticas usando JWT.

Na branch complete você encontra a versão final do projeto feita durante o workshop.

Este projeto foi desenvolvido em um Mac, mas acredito que tudo rode em Linux, e no Windows com algumas modificações em alguns comandos.

Requisitos

Este projeto consiste de uma API feita em Node.js que consome um banco PostgreSQL. Há um arquivo .nvmrc no projeto caso queira realizar a instalação usando o nvm.

O arquivo que possui o uso das libs do JWT em si, é o src/services/token.js

Rodando o projeto

Para rodar o projeto é necessário rodar um banco Postgres, sugiro o uso do docker. Pode ser usado o seguinte comando:

docker run --name db-jwt-example -p 5432:5432 -e POSTGRES_PASSWORD=password -d postgres

Caso queira rodar em outro local, lembre-se de editar a url no arquivo config/database.js.

O próximo passo é instalar as depêndencias:

npm install

Depois é necessário rodar a migration para criar as tabelas no banco:

npm run sequelize:migrate

E então pode-se rodar com nodemon:

npm run dev

Para facilitar os testes dos endpoints, pode ser usado o arquivo JWT.postman_collection.json

Comandos para criação de chaves privada e pública

openssl genrsa -out private-key.pem 2048 
openssl rsa -in private-key.pem -pubout -out public-key.pem

Caso queira usar chaves previamente geradas, copie o arquivo .env.example para o arquivo .env. Mas lembre-se: Não use essas chaves em produção, apenas para teste.

Dúvidas

Qualquer dúvida/problema referente ao projeto, sinta-se livre para abrir uma issue no projeto que eu vou responder assim que possível.

Links e referências

Escrevi um artigo em que falo de alguns conceitos abordados no workshop, ele pode ser acessado clicando aqui.

jwt-rocketseat's People

Contributors

askmon avatar rodrigobotti avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

jwt-rocketseat's Issues

Problema com a as chaves privadas e publicas

Aqui eu tive um problema com as chaves public/private elas que não funcionavam e então em uma pesquisa vi que adicionando isso .replace(/\n/gm, '\n') no código quando trás as chaves publicas e privadas do process.env.chave.replace(/\n/gm, '\n') resolvia o problema.

Solicitação

Boa tarde, André!

Que vídeo top. Esclareceu várias dúvidas, aliás, superou minhas expectativas.

O vídeo foi interrompido antes da sua conclusão.

Obrigado.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.