---
title: "@xid-kit/core"
description: "セッション状態、短期 JWT アクセス、Management API ヘルパー向けのブラウザークライアント。"
locale: "ja"
---

> Documentation Index
> Fetch the locale documentation index at: https://xid.dev/ja/llms.txt
> Use this file to discover all available pages before exploring further.

# @xid-kit/core

## インストールと設定

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

```ts
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 呼び出しが必要です。

```ts
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](/ja/sdks/react)。サーバー検証：[@xid-kit/backend](/ja/sdks/backend)。

Source: https://xid.dev/ja/sdks/core/index.mdx
