@rurylox/sdk-node
v0.1.2
Published
SDK de Node.js para el backend de Ruryauth.
Downloads
324
Readme
@rurylox/sdk-node
Cliente mínimo para consumir el backend Rust de Ruryauth desde Node.js (sin dependencias externas).
Instalación
Node 18+ (fetch nativo) o trae tu propio fetch con fetchImpl.
Base URL recomendada por entorno: define RURYAUTH_BASE_URL (o RURYAUTH_URL) en tu .env o variables de entorno. El SDK la toma automáticamente. Si no existe, usa http://127.0.0.1:8080.
Local (mientras desarrollas el backend)
# pnpm
pnpm add ./sdk/node
# npm
npm install ./sdk/node
# yarn
yarn add ./sdk/nodeSi se publica en un registry
pnpm add @rurylox/sdk-nodeUso rápido
# Dentro del repo
node -e "const { RuryauthClient } = require('./sdk/node'); console.log(new RuryauthClient().baseUrl);"Si quieres usarlo desde otro proyecto, puedes referenciarlo con file: en tu package.json o copiar index.js.
Uso rápido
// Si lo instalaste con file: usa la ruta al paquete
const { RuryauthClient } = require('@rurylox/sdk-node');
const auth = new RuryauthClient({ baseUrl: 'http://127.0.0.1:8080' });
async function demo() {
await auth.health(); // { status: "ok" }
await auth.login('[email protected]'); // envía código y auto-registra si no existe
// ...
}Si prefieres no pasar la URL en código, exporta en tu entorno:
export RURYAUTH_BASE_URL=https://auth.midominio.com
# luego simplemente:
const auth = new RuryauthClient();API
new RuryauthClient({ baseUrl?, timeoutMs?, fetchImpl? })baseUrl: por defectohttp://127.0.0.1:8080.timeoutMs: por defecto8000.fetchImpl: opcional si tu entorno no tienefetchglobal.
health()→GET /health.login(email)→POST /login(auto-registro).sendCode(email)→POST /send-code(no auto-registro).verifyCode(email, code)→POST /verify-code→{ token, email, redirect, message }.me(token)→GET /meconAuthorization: Bearer <token>.register(username, password)→POST /register(flujo legacy).
Errores
Los errores de red o HTTP no 2xx lanzan RuryauthError con:
status: código HTTP.body: JSON devuelto por el backend (o texto).message: resumen amigable.
Ejemplo:
try {
await auth.verifyCode('[email protected]', 'XXXXXX');
} catch (err) {
if (err.status === 401) console.log('Código incorrecto');
else console.error(err);
}