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_CODESe todos os seus tipos associados. - Os auxiliares de servidor nunca expõem segredos de assinatura aos bundles do cliente.