3.0.0 • Published 2 years ago

fasty-token v3.0.0

Weekly downloads
-
License
ISC
Repository
github
Last release
2 years ago

Explicação do Funcionamento do Código

O código fornecido consiste em uma implementação básica de geração e verificação de tokens de autenticação usando a biblioteca jsonwebtoken. Ele inclui as seguintes classes e funções:

Classe ConfigToken

A classe ConfigToken é uma classe que encapsula as configurações necessárias para gerar e verificar tokens de autenticação. Ela possui os seguintes atributos:

  • secretKey: A chave secreta usada para assinar e verificar os tokens.
  • expiresIn: O tempo de expiração dos tokens.

A classe ConfigToken também possui um construtor que recebe a chave secreta e o tempo de expiração como parâmetros opcionais. Se o tempo de expiração não for fornecido, o valor padrão será definido como "1d" (um dia).

A classe ConfigToken tem um método chamado getConfig(), que retorna um objeto contendo as configurações atuais.

Função generateToken

A função generateToken é responsável por gerar um token de autenticação com base no usuário, senha e configurações fornecidas. Ela recebe os seguintes parâmetros:

  • user: O nome do usuário.
  • password: A senha do usuário.
  • config: Uma instância da classe ConfigToken contendo as configurações necessárias.

A função generateToken extrai a chave secreta e o tempo de expiração das configurações fornecidas. Em seguida, usa a função jwt.sign() do pacote jsonwebtoken para criar um token assinado com os dados do usuário e senha fornecidos, usando a chave secreta e o tempo de expiração.

O token gerado é retornado como uma string.

Função verifyToken

A função verifyToken é responsável por verificar e decodificar um token de autenticação com base nas configurações fornecidas. Ela recebe os seguintes parâmetros:

  • token: O token a ser verificado.
  • config: Uma instância da classe ConfigToken contendo as configurações necessárias.

A função verifyToken extrai a chave secreta das configurações fornecidas. Em seguida, usa a função jwt.verify() do pacote jsonwebtoken para verificar e decodificar o token usando a chave secreta.

Se o token for válido e a verificação for bem-sucedida, a função retorna um objeto contendo as credenciais do usuário (nome de usuário e senha). Caso contrário, retorna null.

Exportação de Módulos

O código também inclui a exportação dos módulos verifyToken, generateToken e ConfigToken para uso em outros arquivos. Isso permite que essas funções e classes sejam importadas e utilizadas em outros contextos.

// Criando uma instância de ConfigToken com uma chave secreta e tempo de expiração const config = new ConfigToken('chave-secreta', '1h');

// Gerando um token const token = generateToken('usuario123', 'senha456', config);

// Verificando o token const decodedToken = verifyToken(token, config);

3.0.0

2 years ago

2.0.0

2 years ago

1.0.0

2 years ago