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.

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.
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.
npm install energy-community-auth-sdk
yarn add energy-community-auth-sdk
pnpm add energy-community-auth-sdk

Muestra registro, login, refresh, validación de token y logout usando el SDK con manejo de entorno para credenciales.

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);