@hemia/auth-sdk
v0.0.7
Published
Hemia SDK for authentication
Readme
Hemia Auth SDK
SDK para gestionar autenticación SSO con PKCE flow, manejo de sesiones y refresh tokens automático.
📦 Instalación
npm install @hemia/auth-sdkbun add @hemia/auth-sdk🚀 Uso Básico
Configuración
import { AuthService, AuthCacheService } from '@hemia/auth-sdk';
const config = {
clientId: 'your-client-id',
clientSecret: 'your-client-secret',
redirectUri: 'http://localhost:3000/callback',
ssoBaseUrl: 'https://sso.hemia.com',
ssoAuthUrl: '/oauth/authorize',
ssoTokenEndpoint: '/oauth/token',
ssoLogoutEndpoint: '/oauth/logout',
uiBaseUrl: 'http://localhost:3000'
};
const storage = new AuthCacheService(redisClient);
const jwtManager = new JwtManager();
const authService = new AuthService(config, storage, jwtManager);🎯 Controller Abstracto
El SDK incluye un AbstractAuthController con endpoints listos:
GET /login- Inicia el flujo de autenticaciónGET /callback- Procesa el callback del SSOGET /me- Obtiene datos del usuario autenticadoPOST /logout- Cierra la sesión
import { AbstractAuthController } from '@hemia/auth-sdk';
export class AuthController extends AbstractAuthController {
constructor(authService: AuthService) {
super(authService);
}
}🔒 Manejo de Errores
Todos los errores de sesión extienden SessionError e incluyen:
code: Código del errormessage: Mensaje descriptivoredirectTo: URL de redirección sugerida
🛠️ Scripts Disponibles
| Script | Descripción |
|--------------|----------------------------------|
| npm run build | Compila el paquete con Rollup |
| npm run test | Ejecuta pruebas con Jest |
| npm run clean | Limpia la carpeta dist/ |
