Zum Inhalt springen

@vonvon-kit/nextjs

Next.js Middleware, App Router- und Pages Router-Server-Helfer sowie React-SDK-Neuexporte.

Als Markdown anzeigen

Middleware

Registry-Status: UNPUBLISHED. Installieren Sie dieses SDK nur aus einem Checkout des Repository-Quellcodes; verwenden Sie keine externe Paket-Registry.

vonvonMiddleware() prüft in der Edge Runtime ein Bearer- oder explizites Anwendungs-JWT. Bei einer gleichursprünglichen Core-Sitzung tauscht es das undurchsichtige Cookie über /v1/sessions/token aus, prüft das zurückgegebene JWT und fügt den Auth-Status in nachgelagerte Server-Anfrage-Header ein.

import { vonvonMiddleware } from '@vonvon-kit/nextjs'

export default vonvonMiddleware({
  jwtKey: JSON.parse(process.env.VONVON_JWKS_PUBLIC_KEY!),
  issuer: 'https://vonvon.id',
  // This same-origin path must be routed to Vonvon Core.
  sessionTokenExchange: { endpoint: '/v1/sessions/token' },
})

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

Server-Helfer für den App Router

import { auth, currentUser } from '@vonvon-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 '@vonvon-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
vonvonMiddleware 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
vonvonClient function Gibt serverseitigen VonvonApiClient zurück, der an die aktuelle Anfrage-Authentifizierung gebunden ist
VONVON_AUTH_HEADER Zeichenkettenkonstante Header-Name für den Auth-Zustand zwischen Middleware und Server-Komponenten
VonvonMiddlewareOptions type Optionen für vonvonMiddleware: jwtKey, issuer, jwtCookieName, sessionTokenExchange, protectedRoutes, publicRoutes
VonvonServerClientOptions type Optionen für vonvonClient
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 @vonvon-kit/react-Client-Komponenten und Hooks neu über export * from \"@vonvon-kit/react\".
  • Neuexporte aus @vonvon-kit/backend: verifyToken, verifyWebhook, authenticateRequest, JwksCache, toVerifyKeySet, AppError, BACKEND_ERROR_CODES und alle zugehörigen Typen.
  • Server-Helfer geben Signiergeheimnisse niemals an Client-Bundles weiter.
Navigation

Suchbegriff eingeben...

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