Você está na página 1de 2

Documentação de Autenticação via JWT em

Node.js
Introdução

Este documento descreve o processo de autenticação utilizando JSON Web Tokens (JWT) em uma aplicação
Node.js. A autenticação é implementada juntamente com o bcrypt para garantir a segurança das senhas.

Requisitos

- Node.js instalado

- Bibliotecas necessárias: `jsonwebtoken` e `bcrypt`

npm install jsonwebtoken bcrypt

Configuração

1. Configuração do JWT

Antes de iniciar a implementação, é necessário definir uma chave secreta (JWT_SECRET) para assinar os
tokens JWT. Esta chave é utilizada para verificar a autenticidade dos tokens, para que os tokens se
correspondam é necessário utilizarmos a mesma chave:

JWT_SECRET=KLw2a-%dN3oo5k19rt!ag_+_bkmps3du*4oIqhb&@5u

2. Configuração do Bcrypt

Instale a biblioteca `bcrypt` e configure-a para garantir a segurança no armazenamento e verificação de


senhas.

const bcrypt = require('bcrypt');


const saltRounds = 10;
Autenticação

1. Importando o

const jwt = require('jsonwebtoken');

2. Comparando Senha com Bcrypt

const senhaResult = `
SELECT * FROM senhas WHERE SocioId = :ID_SOCIO
AND PASSWORD IS NOT NULL AND PASSWORD <> '' LIMIT 1`;
if (senhaResult) {
const isValidPassword = await bcrypt.compare(password, senhaResult.password);

if (!isValidPassword) {
return res.status(401).json({ message: "Usuário e/ou senha inválido(s)"
}
}

2. Criando o Token JWT de autenticação

const token = await jwt.sign({ id: formattedUser.id, accounType: accounType },


process.env.JWT_SECRET, {
expiresIn: 86400 // expires in 1 day
});

console.log('Token JWT:', token);


return res.status(200).json({ user, token });

Conclusão

Esta documentação fornece uma base para implementar autenticação segura em uma aplicação Node.js
utilizando JWT e bcrypt. Certifique-se de manter a chave secreta (`JWT_SECRET`) em um local seguro e
ajustar os parâmetros conforme necessário para atender aos requisitos de segurança da sua aplicação.

Você também pode gostar