---
title: "@xid-kit/nextjs"
description: "Next.js Middleware, App Router- und Pages Router-Server-Helfer sowie React-SDK-Neuexporte."
locale: "de"
---

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

# @xid-kit/nextjs

## Middleware

`xidMiddleware()` läuft in der Edge Runtime, prüft das Sitzungs-JWT netzwerklos und fügt den Auth-Status in die Anfrage-Header für Server-Komponenten und Route-Handler ein.

```ts
import { xidMiddleware } from '@xid-kit/nextjs'

export default xidMiddleware({
  jwtKey: process.env.XID_JWKS_PUBLIC_KEY!,
  issuer: 'https://xid.dev',
})

export const config = {
  matcher: ['/dashboard(.*)', '/api/protected(.*)'],
}
```

## Server-Helfer für den App Router

```ts
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

```ts
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: {} }
}
```

## Exportierte API

| Exportieren | Art | Zweck |
| --- | --- | --- |
| `xidMiddleware` | function | Edge Runtime Middleware: prüft JWT, fügt Auth-Header ein |
| `auth` | function | App Router: gibt AuthObject mit userId, orgId, orgRole zurück |
| `getAuth` | function | Pages Router: gibt AuthObject aus IncomingMessage zurück |
| `currentUser` | function | App Router: ruft das vollständige Benutzerobjekt über den Server-Auth-Kontext ab |
| `xidClient` | function | Gibt serverseitigen XidApiClient zurück, der an die aktuelle Anfrage-Authentifizierung gebunden ist |
| `XID_AUTH_HEADER` | Zeichenkettenkonstante | Header-Name für den Auth-Zustand zwischen Middleware und Server-Komponenten |
| `XidMiddlewareOptions` | type | Optionen für xidMiddleware: jwtKey, issuer, publicRoutes, ignoredRoutes |
| `XidServerClientOptions` | type | Optionen für xidClient |
| `AuthObject` | type | Authentifizierter Zustand: userId, orgId, orgRole, sessionId |
| `UnauthenticatedAuthObject` | type | Nicht authentifizierter Zustand mit Null-Feldern |
| `AuthResult` | type | Vereinigung von AuthObject und UnauthenticatedAuthObject |
| `PaginationParams` | type | Cursor- und Limit-Parameter für Management-API-Listenaufrufe |
| `PaginatedResponse<T>` | type | Paginierter Antwort-Envelope |

## Neuexporte

- Exportiert alle [@xid-kit/react](/de/sdks/react)-Client-Komponenten und Hooks neu über `export * from "@xid-kit/react"`.
- Neuexporte aus [@xid-kit/backend](/de/sdks/backend): `verifyToken`, `verifyWebhook`, `authenticateRequest`, `JwksCache`, `toVerifyKeySet`, `AppError`, `BACKEND_ERROR_CODES` und alle zugehörigen Typen.
- Server-Helfer geben Signiergeheimnisse niemals an Client-Bundles weiter.

Source: https://xid.dev/de/sdks/nextjs/index.mdx
