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_CODESy todos sus tipos asociados. - Las utilidades de servidor nunca exponen secretos de firma a los paquetes del cliente.