Saltar al contenido

@xid-kit/nextjs

Middleware de Next.js, utilidades de servidor para App Router y Pages Router, más reexportaciones del SDK de React.

Ver como Markdown

Middleware

xidMiddleware() se ejecuta en el Edge Runtime, verifica el JWT de sesión sin llamadas de red e inyecta el estado de autenticación en los encabezados de solicitudes descendentes para componentes de servidor y manejadores de rutas.

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(.*)'],
}

Utilidades de servidor para 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 exportada

Exportar Tipo Propósito
xidMiddleware function Middleware de Edge Runtime: verifica JWT e inyecta encabezados de autenticación
auth function App Router: devuelve AuthObject con userId, orgId, orgRole
getAuth function Pages Router: devuelve AuthObject a partir de IncomingMessage
currentUser function App Router: recupera el objeto de usuario completo usando el contexto de autenticación de servidor
xidClient function Devuelve XidApiClient del lado del servidor vinculado a la autenticación de la solicitud actual
XID_AUTH_HEADER constante de cadena Nombre del encabezado para el estado de autenticación entre middleware y componentes de servidor
XidMiddlewareOptions type Opciones para xidMiddleware: jwtKey, issuer, publicRoutes, ignoredRoutes
XidServerClientOptions type Opciones para xidClient
AuthObject type Estado autenticado: userId, orgId, orgRole, sessionId
UnauthenticatedAuthObject type Estado no autenticado con campos nulos
AuthResult type Unión de AuthObject y UnauthenticatedAuthObject
PaginationParams type Parámetros cursor y limit para llamadas de lista de la API de administración
PaginatedResponse<T> type Envoltorio de respuesta paginada

Reexportaciones

  • Reexporta todos los componentes cliente y hooks de @xid-kit/react mediante export * from "@xid-kit/react".
  • Reexportaciones de @xid-kit/backend: verifyToken, verifyWebhook, authenticateRequest, JwksCache, toVerifyKeySet, AppError, BACKEND_ERROR_CODES y todos sus tipos asociados.
  • Las utilidades de servidor nunca exponen secretos de firma a los paquetes del cliente.
Navegación

Escribe para buscar...

Usa las flechas para navegarPulsa Intro para seleccionarPulsa Escape para cerrar