Ir para o conteúdo

@vonvon-kit/nextjs

Middleware Next.js, auxiliares de servidor para App Router e Pages Router, mais re-exports do React SDK.

Ver como Markdown

Middleware

Status do registry: UNPUBLISHED. Instale este SDK somente a partir do checkout do código-fonte do repositório; não use um registry de pacotes externo.

vonvonMiddleware() verifica um JWT Bearer ou explícito da aplicação no Edge Runtime. Para uma sessão Core da mesma origem, troca o cookie opaco por /v1/sessions/token, verifica o JWT retornado e injeta o estado de autenticação nos cabeçalhos da requisição de servidor.

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

Auxiliares de servidor para 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: {} }
}

API exportada

Exportar Tipo Finalidade
vonvonMiddleware function Middleware do Edge Runtime: verifica JWT e injeta cabeçalhos de autenticação
auth function App Router: retorna AuthObject com userId, orgId e orgRole
getAuth function Pages Router: retorna AuthObject a partir de IncomingMessage
currentUser function App Router: obtém o objeto de usuário completo usando o contexto de autenticação do servidor
vonvonClient function Retorna VonvonApiClient do lado do servidor vinculado à autenticação da requisição atual
VONVON_AUTH_HEADER constante de string Nome do cabeçalho para o estado de autenticação entre middleware e componentes de servidor
VonvonMiddlewareOptions type Opções para vonvonMiddleware: jwtKey, issuer, jwtCookieName, sessionTokenExchange, protectedRoutes, publicRoutes
VonvonServerClientOptions type Opções para vonvonClient
AuthObject type Estado autenticado: userId, orgId, orgRole, sessionId
UnauthenticatedAuthObject type Estado não autenticado com campos nulos
AuthResult type União de AuthObject e UnauthenticatedAuthObject
PaginationParams type Parâmetros cursor e limit para chamadas de listagem da Management API
PaginatedResponse<T> type Envelope de resposta paginada

Re-exports

  • Faz re-export de todos os componentes cliente e hooks de @vonvon-kit/react via export * from \"@vonvon-kit/react\".
  • Re-exports de @vonvon-kit/backend: verifyToken, verifyWebhook, authenticateRequest, JwksCache, toVerifyKeySet, AppError, BACKEND_ERROR_CODES e todos os seus tipos associados.
  • Os auxiliares de servidor nunca expõem segredos de assinatura aos bundles do cliente.
Navegação

Digite para pesquisar...

Use as teclas de seta para navegarPressione Enter para selecionarPressione Escape para fechar