ミドルウェア
Registry 状態: UNPUBLISHED。この SDK はリポジトリのソース checkout からのみインストールし、外部 package registry は使用しないでください。
xidMiddleware() は Edge Runtime で Bearer または明示的なアプリケーション JWT を検証します。同一オリジンの Core セッションでは、opaque Cookie を /v1/sessions/token で交換し、返された JWT を検証して認証状態を下流のサーバーリクエストヘッダーに注入します。
import { xidMiddleware } from '@xid-kit/nextjs'
export default xidMiddleware({
jwtKey: JSON.parse(process.env.XID_JWKS_PUBLIC_KEY!),
issuer: 'https://xid.dev',
// This same-origin path must be routed to XID Core.
sessionTokenExchange: { endpoint: '/v1/sessions/token' },
})
export const config = {
matcher: ['/dashboard(.*)', '/api/protected(.*)'],
}App Router サーバーヘルパー
import { auth, currentUser } from '@xid-kit/nextjs'
export default async function DashboardPage() {
const { userId } = await auth()
if (!userId) return null
const user = await currentUser()
return <p>Welcome {user?.email}</p>
}Pages Router
import { getAuth } from '@xid-kit/nextjs'
export const getServerSideProps = async (ctx) => {
const { userId } = await getAuth(ctx.req)
if (!userId) return { redirect: { destination: '/sign-in', permanent: false } }
return { props: {} }
}エクスポートされた API
| エクスポート | 種別 | 目的 |
|---|---|---|
xidMiddleware |
function | Edge Runtime middleware:JWT を検証し認証ヘッダーを注入します |
auth |
function | App Router:userId、orgId、orgRole を含む AuthObject を返します |
getAuth |
function | Pages Router:IncomingMessage から AuthObject を返します |
currentUser |
function | App Router:サーバー認証コンテキストを使って完全なユーザーオブジェクトを取得します |
xidClient |
function | 現在のリクエスト認証にバインドされたサーバー側 XidApiClient を返します |
XID_AUTH_HEADER |
文字列定数 | middleware とサーバーコンポーネント間の認証状態を表すヘッダー名 |
XidMiddlewareOptions |
type | xidMiddleware のオプション:jwtKey、issuer、jwtCookieName、sessionTokenExchange、protectedRoutes、publicRoutes |
XidServerClientOptions |
type | xidClient のオプション |
AuthObject |
type | 認証済み状態:userId、orgId、orgRole、sessionId |
UnauthenticatedAuthObject |
type | フィールドが null の未認証状態 |
AuthResult |
type | AuthObject と UnauthenticatedAuthObject のユニオン |
PaginationParams |
type | Management API 一覧呼び出し用の cursor および limit パラメーター |
PaginatedResponse<T> |
type | ページネーション対応のレスポンスエンベロープ |
再エクスポート
export * from "@xid-kit/react"を通じて @xid-kit/react のすべてのクライアントコンポーネントとフックを再エクスポートします。- @xid-kit/backend からの再エクスポート:
verifyToken、verifyWebhook、authenticateRequest、JwksCache、toVerifyKeySet、AppError、BACKEND_ERROR_CODES、およびそれらに関連するすべての型。 - サーバーヘルパーは署名シークレットをクライアントバンドルに公開しません。