@watheushenry/local-credentials v2.4.1
Local Credentials
Um pacote Node.js desenvolvido para armazenar e gerenciar credenciais de forma segura, utilizando criptografia AES-256 e banco de dados MySQL. Esta solução é ideal para projetos que necessitam armazenar informações sensíveis como chaves de API, tokens de acesso e outras credenciais de forma segura e organizada.
🔐 Características principais
- Criptografia AES-256 para máxima segurança
- Integração com MySQL para armazenamento persistente
- Interface de linha de comando simples e intuitiva
- Gerenciamento completo de credenciais (adicionar, buscar, listar e remover)
- Configuração simplificada via arquivo .env
📌 Instalação
Para instalar o pacote em seu projeto, execute o seguinte comando:
npm install @watheushenry/local-credentials
🔧 Configuração
Pré-requisitos
- Node.js instalado
- MySQL Server em execução
- Banco de dados criado para armazenamento das credenciais
Configuração do ambiente
Crie um arquivo .env
na raiz do seu projeto com as seguintes variáveis:
DB_HOST=localhost # Endereço do seu servidor MySQL
DB_USER=root # Usuário do MySQL
DB_PASS= # Senha do MySQL
DB_NAME=nome_do_banco # Nome do banco de dados
SECRET_KEY=0123456789abcdef0123456789abcdef # Chave secreta para criptografia
Importante: Mantenha sua SECRET_KEY em segurança e nunca a compartilhe ou comita no controle de versão.
I'll update the README to include both CLI and programmatic usage examples:
🚀 Como Usar
O Local Credentials pode ser utilizado de duas formas: via linha de comando (CLI) ou programaticamente em seu código.
📟 Usando via CLI
✅ Salvando credenciais
npx credentials set <chave> "<valor>"
Exemplo prático:
npx credentials set API_KEY "minha_chave_secreta"
🔍 Recuperando credenciais
npx credentials get <chave>
Exemplo prático:
npx credentials get API_KEY
📜 Listando todas as credenciais
npx credentials list
🗑️ Removendo credenciais
npx credentials delete <chave>
Exemplo prático:
npx credentials delete API_KEY
💻 Usando programaticamente
Você também pode integrar o Local Credentials diretamente em seu código:
const { setCredential, getCredential, listCredentials, deleteCredential } = require('@watheushenry/local-credentials');
async function exemploDeUso() {
try {
// 1. Salvar credencial
await setCredential("apiKey", "meu-segredo-super-seguro");
console.log("✅ Credencial salva!");
// 2. Listar credenciais
console.log("\n🔑 Credenciais salvas:");
await listCredentials();
// 3. Obter credencial
const value = await getCredential("apiKey");
console.log(`\n🔍 Valor da credencial: ${value}`);
// 4. Deletar credencial
await deleteCredential("apiKey");
console.log("\n🗑️ Credencial removida!");
} catch (error) {
console.error("Erro:", error.message);
}
}
// Executar o exemplo
exemploDeUso();
📝 Detalhes das funções
setCredential(chave, valor)
: Salva uma nova credencial ou atualiza uma existentegetCredential(chave)
: Recupera o valor de uma credencial específicalistCredentials()
: Retorna uma lista de todas as credenciais salvasdeleteCredential(chave)
: Remove uma credencial específica
⚡ Exemplo de integração em um projeto real
const { setCredential, getCredential } = require('@watheushenry/local-credentials');
async function inicializarAPI() {
try {
// Salvar uma nova chave de API
await setCredential('STRIPE_API_KEY', 'sk_test_...');
// Recuperar a chave quando necessário
const apiKey = await getCredential('STRIPE_API_KEY');
// Usar a chave em sua aplicação
const stripe = require('stripe')(apiKey);
// ... resto da sua lógica
} catch (error) {
console.error('Erro ao gerenciar credenciais:', error);
}
}
⚠️ Boas Práticas de Segurança
- Sempre utilize senhas fortes para o banco de dados
- Mantenha sua SECRET_KEY em um ambiente seguro
- Evite compartilhar credenciais em texto plano
- Faça backup regular do banco de dados
- Monitore o acesso às credenciais
🤝 Contribuindo
Contribuições são sempre bem-vindas! Se você encontrou um bug ou tem uma sugestão de melhoria, por favor:
- Abra uma issue descrevendo o problema/sugestão
- Fork o repositório
- Crie uma branch para sua feature/correção
- Envie um pull request
Desenvolvido com ❤️ por WatheusHenry
5 months ago
5 months ago
5 months ago
5 months ago
5 months ago
5 months ago
5 months ago
5 months ago
5 months ago
5 months ago
5 months ago
5 months ago
5 months ago
5 months ago
5 months ago
5 months ago
5 months ago
5 months ago