Instalar y configurar
Apunta apiUrl al origen de tu instancia XID (alojada o autoalojada). El SDK nunca almacena un secreto de cliente ni expone el material del refresh token a los scripts del navegador.
import { XidClient } from '@xid-kit/core'
const xid = new XidClient({ apiUrl: 'https://xid.dev' })
await xid.load()
const token = await xid.getToken()Ciclo de vida de la sesión
load()lee/v1/mee hidrata el usuario, la sesión y la organización activa.signInPassword()establece una sesión con cookie a través del flujo de contraseña de Hosted Auth.getToken()devuelve un JWT de corta duración para llamadas a la API. Verifícalo sin llamadas de red en tu servidor con JWKS.setActiveOrganization()cambia el contexto de organización y limpia el caché de tokens antes de recargar el estado.signOut()revoca la cookie de sesión del navegador.
Utilidades de la API de administración
La versión actual solo envuelve la gestión de claves API. Todos los demás recursos de la API de administración requieren llamadas REST directas a /v1/ con Authorization: Bearer sk_live_xxx.
const keys = await xid.listApiKeys()
const created = await xid.createApiKey({ name: 'CI deploy', scopes: ['read'] })
await xid.revokeApiKey(created.id)API exportada
| Exportar | Tipo | Propósito |
|---|---|---|
XidClient |
class | Cliente de navegador de nivel superior: load, signIn, getToken, setActiveOrganization, signOut y utilidades de la API de administración |
XidStore |
class | Store reactivo independiente del framework; suscríbete con useSyncExternalStore en los vínculos del framework |
TokenManager |
class | Caché JWT de corta duración y refresco programado (uso avanzado y pruebas) |
XidApiClient |
class | Cliente HTTP para los endpoints /v1/me y de tokens |
XidNetworkError |
class | Lanzado en fallos de transporte: error de red, respuesta no JSON, 5xx sin cuerpo estructurado |
makeXidError |
function | Construye un XidError estructurado para fallos de validación locales sin ida y vuelta de red |
isXidErrorShape |
function | Protector de tipo: verifica si un valor desconocido se ajusta a la forma XidError del wire |
decodeTokenClaims |
function | Decodifica las declaraciones del payload JWT solo para programación de expiración; no verifica la firma |
isTokenExpiring |
function | Devuelve true cuando el token expira dentro de la ventana de tolerancia (predeterminado 10 s) |
SESSION_STATUS |
tupla as const | Valores válidos de estado de sesión: active, pending, expired, removed, ended, revoked |
CLIENT_STATUS |
tupla as const | Valores válidos de estado del cliente: loading, ready, degraded, error |
PACKAGE |
constante de cadena | Identificador de nombre de paquete ‘@xid-kit/core’ |
Tipos
| Tipo | Descripción |
|---|---|
XidUser |
Vista de solo lectura del usuario autenticado (sin secretos ni hashes) |
XidOrganization |
Vista pública de la organización |
XidOrganizationMembership |
Membresía de usuario en una organización con rol y permisos |
XidSession |
Vista de sesión con estado, expiración y organización activa |
XidApiKey |
Clave API sin secreto (vista de lista) |
XidApiKeyWithSecret |
Clave API devuelta una sola vez al crearla; incluye el campo key |
XidPage<T> |
Envoltorio de respuesta con paginación por cursor |
CreateApiKeyInput |
Entrada para createApiKey |
SignInPasswordInput |
Entrada para signInPassword |
SignInResult |
Resultado de signInPassword: siguiente paso o URL de redirección |
SessionStatus |
Unión de valores de SESSION_STATUS |
ClientStatus |
Unión de valores de CLIENT_STATUS |
XidState |
Instantánea completa del estado del SDK suscrita desde XidStore |
XidStateListener |
Tipo de callback para escucha de cambios de estado |
Unsubscribe |
Tipo de retorno de XidStore.subscribe |
GetTokenOptions |
Opciones para getToken: template, skipCache, leewaySeconds, signal |
XidClientOptions |
Opciones del constructor para XidClient: apiUrl, fetcher, now |
TokenResponse |
Forma de la respuesta bruta del endpoint de token |
ClientStateResponse |
Forma de la respuesta bruta de /v1/me |
DecodedTokenClaims |
Declaraciones del payload JWT devueltas por decodeTokenClaims |
Documentación relacionada
Vínculos de framework: @xid-kit/react. Verificación en servidor: @xid-kit/backend.