Instalar e configurar
Aponte apiUrl para a origem da sua instância XID (hospedada ou auto-hospedada). O SDK nunca armazena segredo do cliente nem expõe material de refresh token a scripts do 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 da sessão
load()lê/v1/mee popula o usuário, a sessão e a organização ativa.signInPassword()estabelece uma sessão via cookie pelo fluxo de senha do Hosted Auth.getToken()retorna um JWT de curta duração para chamadas de API. Verifique sem rede no seu servidor com JWKS.setActiveOrganization()alterna o contexto da organização e limpa o cache de token antes de recarregar o estado.signOut()revoga o cookie de sessão do navegador.
Auxiliares da Management API
A versão atual encapsula apenas o gerenciamento de chaves de API. Todos os outros recursos da Management API exigem chamadas REST diretas a /v1/ com 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 | Finalidade |
|---|---|---|
XidClient |
class | Cliente de navegador de nível superior: load, signIn, getToken, setActiveOrganization, signOut e auxiliares da Management API |
XidStore |
class | Store reativo independente de framework; assine com useSyncExternalStore nos bindings de framework |
TokenManager |
class | Cache de JWT de curta duração e renovação agendada (uso avançado e testes) |
XidApiClient |
class | Cliente HTTP para os endpoints /v1/me e de token |
XidNetworkError |
class | Lançado em falhas de transporte: erro de rede, resposta não JSON, 5xx sem corpo estruturado |
makeXidError |
function | Constrói um XidError estruturado para falhas de validação locais sem chamada de rede |
isXidErrorShape |
function | Type guard: verifica se um valor desconhecido está em conformidade com o formato XidError recebido na rede |
decodeTokenClaims |
function | Decodifica as declarações do payload JWT apenas para agendamento de expiração; não verifica a assinatura |
isTokenExpiring |
function | Retorna true quando o token expira dentro da janela de tolerância (padrão 10 s) |
SESSION_STATUS |
tupla as const | Valores válidos de status de sessão: active, pending, expired, removed, ended, revoked |
CLIENT_STATUS |
tupla as const | Valores válidos de status do cliente: loading, ready, degraded, error |
PACKAGE |
constante de string | Identificador de nome de pacote ‘@xid-kit/core’ |
Tipos
| Tipo | Descrição |
|---|---|
XidUser |
Visão somente leitura do usuário autenticado (sem segredos ou hashes) |
XidOrganization |
Visão pública da organização |
XidOrganizationMembership |
Associação do usuário em uma organização com papel e permissões |
XidSession |
Visão da sessão incluindo status, expiração e organização ativa |
XidApiKey |
Chave de API sem segredo (visualização em lista) |
XidApiKeyWithSecret |
Chave de API retornada uma única vez na criação; inclui o campo key |
XidPage<T> |
Envelope de resposta paginado por cursor |
CreateApiKeyInput |
Entrada para createApiKey |
SignInPasswordInput |
Entrada para signInPassword |
SignInResult |
Resultado de signInPassword: próximo passo ou URL de redirecionamento |
SessionStatus |
União dos valores de SESSION_STATUS |
ClientStatus |
União dos valores de CLIENT_STATUS |
XidState |
Snapshot completo do estado do SDK obtido por assinatura do XidStore |
XidStateListener |
Tipo de callback para listener de mudança de estado |
Unsubscribe |
Tipo de retorno de XidStore.subscribe |
GetTokenOptions |
Opções para getToken: template, skipCache, leewaySeconds, signal |
XidClientOptions |
Opções do construtor de XidClient: apiUrl, fetcher, now |
TokenResponse |
Formato bruto da resposta do endpoint de token |
ClientStateResponse |
Formato bruto da resposta de /v1/me |
DecodedTokenClaims |
Declarações do payload JWT retornadas por decodeTokenClaims |
Documentação relacionada
Bindings de framework: @xid-kit/react. Verificação no servidor: @xid-kit/backend.