Saltar al contenido

@xid-kit/core

Cliente de navegador para estado de sesión, acceso JWT de corta duración y utilidades de la API de administración.

Ver como Markdown

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/me e 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.

Navegación

Escribe para buscar...

Usa las flechas para navegarPulsa Intro para seleccionarPulsa Escape para cerrar