Uma API REST feita com Express e MySQL, e autorização feita com JWT.
Primeiro, baixe as dependências do projeto:
npm install
Depois, na pasta database
rode o arquivo .sql
, ou se preferir, cole este código no seu command line client:
CREATE DATABASE auth;
USE auth;
CREATE TABLE user(
id INT PRIMARY KEY AUTO_INCREMENT,
name VARCHAR(255) NOT NULL,
email VARCHAR(255) NOT NULL,
pass VARCHAR(255) NOT NULL);
Crie um arquivo chamado .env
na raíz do projeto, nele irá conter as variáveis de desenvolvimento que serão utilizadas em várias partes do código. Cole as variáveis e insira as informações necessárias para que seja possível a conexão com o banco:
#server
PORT=
#jwt secret key
SECRET_KEY=
#database
DB_PORT=
DB_HOST=localhost
DB_USER=
DB_PASS=
DB_NAME=auth
Para criar uma senha forte para o jwt, rode o seguinte comando no terminal:
node -e "console.log(require('crypto').randomBytes(256).toString('base64'));"
Ele irá criar uma string com letras, números e símbolos, utilize em SECRET_KEY=
do arquivo .env
.
Tudo pronto! agora é só rodar:
npm run dev
Enjoy! 😊