コンテンツへ移動

@xid-kit/core

セッション状態、短期 JWT アクセス、Management API ヘルパー向けのブラウザークライアント。

Markdown で表示

インストールと設定

apiUrl を XID インスタンスのオリジン(ホスト型またはセルフホスト型)に設定してください。SDK はクライアントシークレットを保存せず、refresh token の素材をブラウザースクリプトに公開しません。

import { XidClient } from '@xid-kit/core'

const xid = new XidClient({ apiUrl: 'https://xid.dev' })
await xid.load()
const token = await xid.getToken()

セッションのライフサイクル

  • load()/v1/me を読み取り、ユーザー、セッション、アクティブな組織を初期化します。
  • signInPassword() は Hosted Auth のパスワードフローを通じて cookie セッションを確立します。
  • getToken() は API 呼び出し用の短期 JWT を返します。バックエンドで JWKS を使ってネットワーク不要で検証してください。
  • setActiveOrganization() は組織コンテキストを切り替え、状態を再読み込みする前にトークンキャッシュをクリアします。
  • signOut() はブラウザーのセッション cookie を取り消します。

Management API ヘルパー

現在のバージョンは API キー管理のみをラップします。他のすべての Management API リソースは Authorization: Bearer sk_live_xxx を使った直接の /v1/ REST 呼び出しが必要です。

const keys = await xid.listApiKeys()
const created = await xid.createApiKey({ name: 'CI deploy', scopes: ['read'] })
await xid.revokeApiKey(created.id)

エクスポートされた API

エクスポート 種別 目的
XidClient class トップレベルブラウザークライアント:load、signIn、getToken、setActiveOrganization、signOut、Management API ヘルパー
XidStore class フレームワーク非依存のリアクティブストア。フレームワークバインディングでは useSyncExternalStore でサブスクライブします
TokenManager class 短期 JWT キャッシュとスケジュール更新(高度な使用およびテスト向け)
XidApiClient class /v1/me およびトークンエンドポイント向けの HTTP クライアント
XidNetworkError class トランスポート失敗(ネットワークエラー、非 JSON レスポンス、構造化ボディなしの 5xx)でスローされます
makeXidError function ネットワーク往復なしにローカル検証失敗用の構造化 XidError を構築します
isXidErrorShape function 型ガード:不明な値がワイヤーからの XidError 形状に準拠しているか確認します
decodeTokenClaims function 有効期限スケジューリング専用に JWT ペイロードクレームをデコードします。署名は検証しません
isTokenExpiring function トークンが許容ウィンドウ内(デフォルト 10 秒)で期限切れになる場合に true を返します
SESSION_STATUS as const タプル 有効なセッション状態値:active、pending、expired、removed、ended、revoked
CLIENT_STATUS as const タプル 有効なクライアント状態値:loading、ready、degraded、error
PACKAGE 文字列定数 パッケージ名識別子 ‘@xid-kit/core’

種別 説明
XidUser 認証済みユーザーの読み取り専用ビュー(シークレットやハッシュなし)
XidOrganization 組織の公開ビュー
XidOrganizationMembership ロールと権限を持つ組織内のユーザーメンバーシップ
XidSession 状態、有効期限、アクティブな組織を含むセッションビュー
XidApiKey シークレットなしの API キー(一覧表示)
XidApiKeyWithSecret 作成時に一度だけ返される API キー。key フィールドを含みます
XidPage<T> カーソルページネーション対応のレスポンスエンベロープ
CreateApiKeyInput createApiKey の入力型
SignInPasswordInput signInPassword の入力型
SignInResult signInPassword の結果:次のステップまたはリダイレクト URL
SessionStatus SESSION_STATUS 値のユニオン
ClientStatus CLIENT_STATUS 値のユニオン
XidState XidStore からサブスクライブされた完全な SDK 状態スナップショット
XidStateListener 状態変化リスナーコールバック型
Unsubscribe XidStore.subscribe の戻り値の型
GetTokenOptions getToken のオプション:template、skipCache、leewaySeconds、signal
XidClientOptions XidClient のコンストラクターオプション:apiUrl、fetcher、now
TokenResponse トークンエンドポイントレスポンスの生の形状
ClientStateResponse /v1/me レスポンスの生の形状
DecodedTokenClaims decodeTokenClaims が返す JWT ペイロードクレーム

関連ドキュメント

フレームワークバインディング:@xid-kit/react。サーバー検証:@xid-kit/backend

ナビゲーション

入力して検索...

矢印キーで移動Enter キーで選択Escape キーで閉じる