Zum Inhalt springen

@xid-kit/core

Browser-Client für Sitzungszustand, kurzlebige JWT-Zugriffe und Management-API-Helfer.

Als Markdown anzeigen

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

Navigation

Suchbegriff eingeben...

Mit den Pfeiltasten navigierenEingabetaste zum AuswählenEscape zum Schließen