lxp-auth-lib
v1.0.2
Published
Biblioteca de autenticação para plataforma da LXP.
Maintainers
Readme
Biblioteca de Autenticação e Autorização
Esta biblioteca fornece funcionalidades de autenticação e autorização para Serviços da plataforma da LXP. Ela permite criar e verificar tokens JWT para proteger seus serviços.
Instalação
Para instalar a biblioteca, você pode usar o npm:
npm install lxp-auth-libConfiguração
Esta biblioteca requer as seguintes variáveis de ambiente:
RSA_PRIVATE_KEY=sua-chave-privada-rsa
RSA_PUBLIC_KEY=sua-chave-publica-rsa
LXP_JWT_EXPIRATION=24hElas servem para configurar e manter o token JWE gerado.
Uso Básico
Criando um Token
Para gerar um token JWE para um usuário:
import { createToken } from 'lxp-auth-lib';
// Exemplo básico - apenas com ID do usuário
const [objDecrypted, newToken] = await createToken('usuario123');
// Exemplo com informações adicionais
const [objDecrypted, newToken] = await createToken('usuario123', {
name: 'Nome do Usuário',
email: '[email protected]',
roles: [1, 2], // IDs dos papéis/permissões
isAdult: true,
avatar: 'https://exemplo.com/avatar.jpg'
});Verificando um Token
Para verificar um token JWT em uma requisição:
import { verifyToken } from 'lxp-auth-lib';
import { IRequest } from 'lxp-auth-lib/interfaces/request';
// Verificar um token sem restrição de papéis
const request = {
headers: {
authorization: 'Bearer seu-token-jwt'
}
};
const [objDecrypted, newToken] = await verifyToken(request);
// Verificar um token com restrição de papéis
const permittedRoles = [1, 2]; // Apenas usuários com papel 1 ou 2
const [objDecrypted, newToken] = await verifyToken(request, permittedRoles);Funcionalidades
- Criação de tokens JWE com chaves RSA para maior segurança
- Verificação de tokens com suporte a validação de papéis
- Suporte para informações adicionais do usuário no payload do token
Contribuição
Para detalhes de como contribuir, acessar o CONTRIBUTING
Licença
Este projeto é licenciado sob a Licença MIT. Veja o arquivo LICENSE para detalhes.
