fair-auth-lib
v1.0.5
Published
Librería de autenticación plug-and-play para Node.js con soporte de JWT y validaciones
Maintainers
Readme
fair-auth-lib
Librería plug & play para autenticación en Node.js con TypeScript.
Incluye generación y validación de tokens JWT, validaciones de usuario, manejo de errores personalizados y soporte multilenguaje.
📦 Instalación
npm install fair-auth-lib🚀 Uso básico
🔐 Crear usuario
import { createUser } from 'fair-auth-lib';
const result = await createUser({
name: 'Juan Pérez',
user: 'juan123',
password: 'MiSecreto123!',
email: '[email protected]'
});
console.log(result); // { id, username, email, ... }🔓 Iniciar sesión
import { loginUser } from 'fair-auth-lib';
const login = await loginUser('[email protected]', 'MiSecreto123!');
console.log(login); // { id, username, token, method }🔑 Validar token
import { getTokenStrategy } from 'fair-auth-lib';
const strategy = getTokenStrategy();
const data = await strategy.validateToken(token);
console.log(data); // Datos del usuario decodificados✅ Validar datos del usuario
import { validarDatosUsuario } from 'fair-auth-lib';
const error = validarDatosUsuario({
name: '',
user: 'juan123',
password: '123',
email: 'no-es-email'
});
if (error) {
console.log('Error:', error);
}🌍 Soporte multilenguaje
import { setLang } from 'fair-auth-lib';
setLang('es'); // Idioma por defecto: 'es'. También puedes implementar 'en', etc.⚙️ Configuración de entorno
Asegúrate de tener un archivo .env con al menos la siguiente variable:
JWT_SECRET=clave-super-secreta🧪 Tests
npm run test📁 Estructura recomendada del proyecto
.
├── src/
│ ├── auth/
│ ├── config/
│ ├── core/
│ ├── dtos/
│ ├── errors/
│ ├── i18n/
│ ├── mappers/
│ ├── models/
│ ├── services/
│ ├── types/
│ └── utils/
├── dist/
├── tests/
├── tsup.config.ts
└── index.ts📤 Exportaciones disponibles
export {
createUser,
loginUser,
getTokenStrategy,
validarDatosUsuario,
ValidationError,
CustomError,
setLang,
};🛠 Scripts importantes
"scripts": {
"test": "NODE_ENV=test jest",
"test:watch": "NODE_ENV=test jest --watch",
"build": "tsup",
"start": "node dist/index.js",
"prepare": "npm run build"
}📦 Publicar
Asegúrate de compilar:
npm run buildPublica:
npm publish
⚠️ Verifica que tu
package.jsontenga correctamente:
{
"name": "fair-auth-lib",
"version": "1.0.0",
"main": "dist/index.cjs",
"types": "dist/index.d.ts",
"exports": {
".": {
"require": "./dist/index.cjs",
"import": "./dist/index.mjs"
}
},
"files": ["dist"]
}🪪 Licencia
ISC
