Português (Brasil)
  • js
  • next
  • next-auth
  • auth.js

Migrando do NextAuth.js v4 para o Auth.js v5

Um guia para migrar a integração Logto do NextAuth.js v4 para v5.

Sijie
Sijie
Developer

A versão 5 do NextAuth.js é uma reescrita significativa do pacote next-auth, que traz atualizações substanciais que afetam várias integrações, incluindo Logto. Este guia irá guiá-lo através do processo de migração da sua integração Logto do NextAuth.js v4 para o Auth.js v5.

Recentemente atualizamos nosso guia de início rápido do NextAuth. Confira!

Entendendo as mudanças

Auth.js v5

O NextAuth.js v5 introduz várias mudanças significativas, sendo a principal mudança que afeta a maneira como você integra Logto com sua aplicação a alteração em "Provedores OIDC/OAuth". Na documentação oficial, é dito que "Auth.js agora é construído sobre @auth/core com conformidade mais rigorosa com as especificações OAuth/OIDC, o que pode quebrar alguns provedores OAuth existentes". Para usuários Logto, isso significa que você precisa atualizar a configuração do provedor.

Para mais informações sobre as mudanças, você pode consultar o guia oficial de migração.

Configuração do provedor Logto

A configuração do provedor para Logto foi atualizada:

  • O tipo foi alterado de oauth para oidc.
  • O endpoint wellKnown foi removido, e você precisa fornecer o campo issuer.
  • Não é necessário especificar o algoritmo de assinatura do id_token, ele agora suporta ES384 e será detectado automaticamente.

Guia de migração passo a passo

Atualize a configuração do provedor no seu arquivo pages/api/auth/[...nextauth].js com o novo modelo de configuração:

Passo 1: Mudar o tipo de provedor

Altere o tipo de provedor de oauth para oidc.

Passo 2: Adicionar o campo issuer

Adicione o campo issuer à configuração do provedor. Você pode obter o valor do issuer na página de Detalhes do Aplicativo do Logto, no campo "Issuer endpoint". Deve parecer com https://xxxx.logto.app/oidc se você estiver usando o serviço em nuvem do Logto.

Em seguida, você pode remover o campo wellKnown.

Passo 3: Remover o algoritmo de assinatura id_token_signed_response_alg

Você não precisa mais especificar o algoritmo de assinatura id_token_signed_response_alg na configuração do provedor. Agora suporta ES384 e será detectado automaticamente.

Atualizar o projeto

Após atualizar a configuração do provedor, você precisa atualizar o pacote next-auth para v5, siga o guia oficial de migração para atualizar o pacote e certifique-se de que sua aplicação funcione conforme esperado. Certifique-se também de consultar o guia de início rápido do NextAuth.