Energy Community Auth SDK
raw JSON → 0.3.2 verified Fri May 01 auth: no javascript
Versión 0.3.2. SDK tipado en TypeScript/JavaScript para consumir el servicio de autenticación de Energy Community. Proporciona métodos para registro, login, refresh de tokens, validación, logout, gestión de sesiones, recuperación y restablecimiento de contraseñas. Empaqueta errores con códigos de estado HTTP. Incluye tipos completos para todas las peticiones y respuestas. Liberado en 2025, con versiones semver. Alternativa a implementar cliente HTTP propio.
Common errors
error error: Cannot find module 'energy-community-auth-sdk' ↓
cause Paquete no instalado o instalado como devDependency en lugar de dependency.
fix
Ejecutar 'npm install energy-community-auth-sdk' o moverlo a dependencies en package.json.
error TypeError: Class constructor AuthServiceSdk cannot be invoked without 'new' ↓
cause Se llamó AuthServiceSdk() sin 'new' o se usó require en ESM sin transpilación.
fix
Usar 'new AuthServiceSdk(...)' y asegurar que se importe como ESM: import { AuthServiceSdk } from 'energy-community-auth-sdk'.
error AuthServiceSdkError: Status: 403, Message: Forbidden ↓
cause API key inválida o no autorizada para el recurso.
fix
Verificar la apiKey y appId en la configuración del SDK.
error AuthServiceSdkError: Status: 401, Message: Invalid credentials ↓
cause Credenciales incorrectas al hacer login o refresh token no válido.
fix
Verificar email y contraseña o renovar el refresh token.
error AuthServiceSdkError: Status: 0, Message: Network Error ↓
cause No se pudo conectar al servidor de autenticación (problema de red o DNS).
fix
Verificar conectividad a internet y que la URL base sea correcta.
Warnings
breaking v0.3.0 cambió el constructor de AuthServiceSdk: requiere objeto con appId y apiKey, no acepta argumentos posicionales ni baseUrl. ↓
fix Actualizar a new AuthServiceSdk({ appId: '...', apiKey: '...', baseUrl?: '...' }).
deprecated Los métodos sdk.auth.validateToken() y sdk.auth.refreshToken() están obsoletos desde v0.3.0; usar sdk.auth.validate() y sdk.auth.refresh(). ↓
fix Reemplazar por sdk.auth.validate({ accessToken }) y sdk.auth.refresh({ refreshToken }).
gotcha No soporta CommonJS require() directamente. Si usas require, debes usar await import('energy-community-auth-sdk') o activar esModuleInterop en tsconfig. ↓
fix Usa import o configura tu entorno para ESM.
gotcha Los tipos (RegisterRequest, TokensResponse, etc.) son solo TypeScript; no existen en runtime. No se pueden usar en comparaciones instanceof. ↓
fix Importa solo como type: import type { TokensResponse } from 'energy-community-auth-sdk'.
gotcha Los errores lanzados por el SDK son instancias de AuthServiceSdkError, no de Error genérico. No uses error.message sin verificar el tipo. ↓
fix Captura con 'error instanceof AuthServiceSdkError' para acceder a status y message.
Install
npm install energy-community-auth-sdk yarn add energy-community-auth-sdk pnpm add energy-community-auth-sdk Imports
- AuthServiceSdk wrong
const AuthServiceSdk = require('energy-community-auth-sdk')correctimport { AuthServiceSdk } from 'energy-community-auth-sdk' - AuthServiceSdkError wrong
import AuthServiceSdkError from 'energy-community-auth-sdk'correctimport { AuthServiceSdkError } from 'energy-community-auth-sdk' - TokensResponse wrong
import { TokensResponse } from 'energy-community-auth-sdk'correctimport type { TokensResponse } from 'energy-community-auth-sdk' - RegisterRequest wrong
import { RegisterRequest } from 'energy-community-auth-sdk'correctimport type { RegisterRequest } from 'energy-community-auth-sdk'
Quickstart
import { AuthServiceSdk } from 'energy-community-auth-sdk';
const sdk = new AuthServiceSdk({
appId: process.env.APP_ID ?? '',
apiKey: process.env.API_KEY ?? '',
});
async function main() {
// Register
const registration = await sdk.auth.register({
firstName: 'Ada',
lastName: 'Lovelace',
email: 'ada@example.com',
password: 'StrongPass123!',
});
console.log('Registered user:', registration.user.id);
// Login
const loginResult = await sdk.auth.login({
email: 'ada@example.com',
password: 'StrongPass123!',
});
console.log('Access token:', loginResult.tokens.accessToken);
// Refresh
const tokens = await sdk.auth.refresh({
refreshToken: loginResult.tokens.refreshToken,
});
console.log('New access token:', tokens.accessToken);
// Validate
const validation = await sdk.auth.validate({
accessToken: tokens.accessToken,
});
console.log('Token valid:', validation.valid);
// Logout
await sdk.auth.logout(tokens.accessToken);
}
main().catch(console.error);