> ## Documentation Index
> Fetch the complete documentation index at: https://docs.didit.me/llms.txt
> Use this file to discover all available pages before exploring further.

# Início rápido Next.js

> Configure uma sessão de autenticação gerida pelo servidor com o Didit: callbacks PKCE, cookies HttpOnly e autorização em pedidos protegidos.

> [!WARNING]
>
> A Autenticação é uma novidade: `@didit-protocol/auth-nextjs` e o verificador do núcleo do servidor dependem da versão. Nenhum caminho de importação de middleware, nome de cookie ou formato de retorno de `auth()` é definido antes da versão do pacote. Os tokens de acesso são JWTs ES256: verifique-os com o JWKS da sua aplicação e chame `GET session/` quando precisar de saber se a sessão continua ativa.

## Mantenha a sessão no seu servidor

Use o fluxo alojado descrito no [guia rápido de JavaScript](https://docs.didit.me/pt/authentication/quickstarts/javascript.md), com as seguintes alterações para uma aplicação renderizada no servidor. Os nomes das suas rotas são rotas da aplicação que você implementa, não são endpoints da API da Didit.

| Rota da aplicação | Responsabilidade |
| - | - |
| Iniciar sessão | Gere o state e um PKCE S256; guarde a transação numa sessão de servidor de curta duração; redirecione para `{origin}/sign-in`. |
| Retorno de chamada registado | Valide o state e a expiração, consuma a transação uma única vez, troque o código em `token/` e guarde os tokens no servidor. |
| Página ou rota de API protegida | Leia o cookie da sua sessão e verifique o token de acesso do utilizador final contra o seu JWKS, ou em `session/` quando a revogação tiver de ser imediata; autorize a ação pedida para essa pessoa. |
| Renovação | Serialize a renovação por sessão, chame `token/` e substitua atomicamente o par de tokens. |
| Terminar sessão | Alteração protegida contra CSRF que revoga `session/` e limpa a sessão da aplicação. |

Envie apenas uma referência aleatória de sessão da aplicação num cookie `Secure`, `HttpOnly`, `SameSite=Lax`, com um caminho restrito. Defina uma validade adequada e altere a referência após o início de sessão. Não exponha o token de renovação da Didit em props renderizadas, componentes do cliente ou armazenamento do navegador. Use `Cache-Control: no-store` nas respostas de token e de retorno de chamada.

Não confie apenas numa verificação de layout ou de middleware: autorize em cada acesso a dados e em cada alteração. Proteja as alterações autenticadas por cookie contra CSRF. Permita apenas destinos pós-início de sessão configurados, nunca um URL `returnTo` arbitrário da query string.

## Pré-visualização da versão do pacote

O pacote planeado acrescenta middleware, `auth()` do lado do servidor, uma rota de retorno de chamada e suporte a cookies HttpOnly para renderização no servidor. A entrada `/server` do núcleo destina-se a fornecer `verifyToken()` com JWKS em cache. Aguarde pelas exportações da versão verificada antes de usar estes símbolos. Até lá, verifique os tokens por si, com qualquer biblioteca JOSE, conforme descrito em [tokens e JWKS](https://docs.didit.me/pt/authentication/tokens-and-jwks.md).

## Ligue os outros produtos

Crie sessões de verificação e emita tokens de monitorização com âmbito definido no servidor. Derive `vendor_data` a partir do mapeamento validado da pessoa. Devolva ao navegador apenas um URL de sessão de verificação ou um token SDK de curta duração. Não inclua `DIDIT_API_KEY` em variáveis de ambiente públicas.

Use o [SDK de verificação web](https://docs.didit.me/pt/integration/web-sdks/javascript-sdk.md) existente para a verificação e o [guia de envio de transações](https://docs.didit.me/pt/transaction-monitoring/sdk-transaction-submission.md) para a monitorização. Nenhum dos dois é um gestor de sessões de Autenticação.

Teste a reutilização de retornos de chamada, um state incorreto, um state expirado, condições de corrida na renovação, sessões revogadas, a rejeição de CSRF e o terminar de sessão antes da versão. Consulte [tokens e JWKS](https://docs.didit.me/pt/authentication/tokens-and-jwks.md) para o contrato de validação.


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.