- insomnia
- vscode
- nodejs
- bibliotecas: express, prisma, jwt
- Aula
- [GITHUB] (git@github.com:mazera3/Refresh-Token.git)
- Prisma
- yarn init -y (cria o pacote package.json)
- Instalar express e typescript:
yarn add express
yarn add typescript @types/express @types/node ts-node-dev -D
- Criar tsconfig.json:
yarn tsc --init
- Criar pasta/arquivo pelo terminal:
mkdir src && touch src/server.ts
- Criar gitignore pelo terminal:
touch .gitignore
- Adicionar arquivos e pastas pelo terminal:
echo -e "node_modules/\n.env" >> .gitignore
- Rodar yarn dev (rodar app)
- Criar gitignore pelo terminal:
- Instalar:
yarn add prisma -D && yarn add @prisma/client
- iniciar:
yarn prisma init
- Criar banco de dados mysql:
refresh_token
- Editar schema.prisma
- Rodar: yarn prisma migrate dev --name create_users
- Criar pasta/arquivo: src/prisma/client.ts
- Criar pasta/arquivo: src/useCases/AuthenticateUser/AuthenticateUserUseCase.ts
- Criar pasta/arquivo: src/useCases/AuthenticateUser/AuthenticateUserController.ts
- yarn add bcryptjs & yarn add @types/bcryptjs -D
- yarn add express-async-errors
- JSON Web Tokens
- Instalar: yarn add jsonwebtoken jwt
- Tipagem: yarn add @types/jsonwebtoken -D
- Gerar Key: Online UUID Generator
- Criar arquivo: src/useCases/authenticateUser/AuthenticateUserController.ts
- Testar com insomnia
- Criar o middlewares: src/middlewares/ensureAuthenticated.ts
- Acrescentar no schema.prisma nova model RefreshToken
- Rodar: yarn prisma migrate dev --name create_refresh_token
- Criar pasta/arquivo: src/provider/GererateRefreshToken.ts
- Instalar biblioteca dayjs: yarn add dayjs
- Testar no insomnia.