Aller au contenu

@xid-kit/nextjs

Middleware Next.js, assistants serveur App Router et Pages Router, plus les réexportations du SDK React.

Afficher en Markdown

Middleware

xidMiddleware() s’exécute sur l’Edge Runtime, vérifie le JWT de session sans réseau et injecte l’état d’authentification dans les en-têtes des requêtes en aval pour les composants serveur et les gestionnaires de route.

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

Assistants serveur 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 exportée

Exporter Type Objectif
xidMiddleware function Middleware Edge Runtime : vérifie le JWT, injecte les en-têtes d’authentification
auth function App Router : retourne un AuthObject avec userId, orgId, orgRole
getAuth function Pages Router : retourne un AuthObject depuis IncomingMessage
currentUser function App Router : récupère l’objet utilisateur complet via le contexte d’authentification serveur
xidClient function Retourne un XidApiClient côté serveur lié à l’authentification de la requête actuelle
XID_AUTH_HEADER constante string Nom d’en-tête pour l’état d’authentification entre middleware et composants serveur
XidMiddlewareOptions type Options pour xidMiddleware : jwtKey, issuer, publicRoutes, ignoredRoutes
XidServerClientOptions type Options pour xidClient
AuthObject type État authentifié : userId, orgId, orgRole, sessionId
UnauthenticatedAuthObject type État non authentifié avec champs null
AuthResult type Union de AuthObject et UnauthenticatedAuthObject
PaginationParams type Paramètres cursor et limit pour les appels de liste de l’API de gestion
PaginatedResponse<T> type Enveloppe de réponse paginée

Réexportations

  • Réexporte tous les composants client et hooks @xid-kit/react via export * from "@xid-kit/react".
  • Réexportations depuis @xid-kit/backend : verifyToken, verifyWebhook, authenticateRequest, JwksCache, toVerifyKeySet, AppError, BACKEND_ERROR_CODES et tous leurs types associés.
  • Les assistants serveur n’exposent jamais les secrets de signature aux bundles client.
Navigation

Saisissez votre recherche...

Utilisez les touches fléchées pour naviguerAppuyez sur Entrée pour sélectionnerAppuyez sur Échap pour fermer