Installieren und konfigurieren
Richten Sie apiUrl auf Ihren XID-Instanzursprung (gehostet oder selbst gehostet). Das SDK speichert niemals ein Client-Geheimnis und gibt kein Refresh-Token-Material an Browser-Skripte weiter.
import { XidClient } from '@xid-kit/core'
const xid = new XidClient({ apiUrl: 'https://xid.dev' })
await xid.load()
const token = await xid.getToken()Sitzungslebenszyklus
load()liest/v1/meund befüllt Benutzer, Sitzung und aktive Organisation.signInPassword()richtet eine Cookie-Sitzung über den Hosted Auth Passwort-Ablauf ein.getToken()gibt ein kurzlebiges JWT für API-Aufrufe zurück. Prüfen Sie es netzwerklos in Ihrem Backend mit JWKS.setActiveOrganization()wechselt den Organisationskontext und leert den Token-Cache, bevor der Zustand neu geladen wird.signOut()widerruft den Browser-Sitzungs-Cookie.
Management-API-Helfer
Die aktuelle Version umschließt nur die API-Schlüsselverwaltung. Alle anderen Management-API-Ressourcen erfordern direkte /v1/-REST-Aufrufe mit 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)Exportierte API
| Exportieren | Art | Zweck |
|---|---|---|
XidClient |
class | Oberster Browser-Client: load, signIn, getToken, setActiveOrganization, signOut und Management-API-Helfer |
XidStore |
class | Framework-agnostischer reaktiver Speicher; mit useSyncExternalStore in Framework-Bindungen abonnieren |
TokenManager |
class | Kurzlebiger JWT-Cache und geplante Aktualisierung (erweiterte Nutzung und Tests) |
XidApiClient |
class | HTTP-Client für /v1/me und Token-Endpunkte |
XidNetworkError |
class | Wird bei Transportfehlern geworfen: Netzwerkfehler, Nicht-JSON-Antwort, 5xx ohne strukturierten Body |
makeXidError |
function | Einen strukturierten XidError für lokale Validierungsfehler ohne Netzwerkumlauf erstellen |
isXidErrorShape |
function | Typwächter: prüft, ob ein unbekannter Wert der XidError-Form aus der Übertragung entspricht |
decodeTokenClaims |
function | JWT-Payload-Claims nur für die Ablaufplanung dekodieren; verifiziert die Signatur nicht |
isTokenExpiring |
function | Gibt true zurück, wenn das Token innerhalb des Toleranzfensters abläuft (Standard 10 s) |
SESSION_STATUS |
as const Tupel | Gültige Sitzungsstatuswerte: active, pending, expired, removed, ended, revoked |
CLIENT_STATUS |
as const Tupel | Gültige Client-Statuswerte: loading, ready, degraded, error |
PACKAGE |
Zeichenkettenkonstante | Paketkennzeichner ‘@xid-kit/core’ |
Typen
| Typ | Beschreibung |
|---|---|
XidUser |
Schreibgeschützte Ansicht des authentifizierten Benutzers (keine Geheimnisse oder Hashes) |
XidOrganization |
Öffentliche Organisationsansicht |
XidOrganizationMembership |
Benutzermitgliedschaft in einer Organisation mit Rolle und Berechtigungen |
XidSession |
Sitzungsansicht mit Status, Ablauf und aktiver Organisation |
XidApiKey |
API-Schlüssel ohne Geheimnis (Listenansicht) |
XidApiKeyWithSecret |
API-Schlüssel wird einmalig bei der Erstellung zurückgegeben; enthält das Schlüsselfeld |
XidPage<T> |
Cursor-paginierter Antwort-Envelope |
CreateApiKeyInput |
Eingabe für createApiKey |
SignInPasswordInput |
Eingabe für signInPassword |
SignInResult |
Ergebnis von signInPassword: nächster Schritt oder Weiterleitungs-URL |
SessionStatus |
Vereinigung der SESSION_STATUS-Werte |
ClientStatus |
Vereinigung der CLIENT_STATUS-Werte |
XidState |
Vollständiger SDK-Zustandsschnappschuss, abonniert von XidStore |
XidStateListener |
Callback-Typ für Zustandsänderungs-Listener |
Unsubscribe |
Rückgabetyp von XidStore.subscribe |
GetTokenOptions |
Optionen für getToken: template, skipCache, leewaySeconds, signal |
XidClientOptions |
Konstruktoroptionen für XidClient: apiUrl, fetcher, now |
TokenResponse |
Rohform der Token-Endpunkt-Antwort |
ClientStateResponse |
Rohform der /v1/me-Antwort |
DecodedTokenClaims |
JWT-Payload-Claims, zurückgegeben von decodeTokenClaims |
Zugehörige Dokumentation
Framework-Bindungen: @xid-kit/react. Server-Verifizierung: @xid-kit/backend.