Migração do NextAuth.js v4 para Auth.js v5
Um guia para migrar a integração do Logto do NextAuth.js v4 para v5.
A versão 5 do NextAuth.js é uma reescrita importante do pacote next-auth, que traz atualizações significativas que afetam várias integrações, incluindo Logto. Este guia irá guiá-lo pelo processo de migração da sua integração Logto do NextAuth.js v4 para Auth.js v5.
Recentemente atualizámos o nosso guia de início rápido do NextAuth. Confira!
Compreendendo as Mudanças
Auth.js v5
O NextAuth.js v5 introduz várias mudanças significativas, a principal mudança que afeta a forma como você integra o Logto com a sua aplicação é a alteração nos "Provedores OIDC/OAuth". Na documentação oficial, é mencionado que "Auth.js agora se baseia em @auth/core com conformidade mais rígida com a especificação OAuth/OIDC, o que pode quebrar alguns provedores OAuth existentes", para os usuários do Logto, isso significa que você precisa atualizar a configuração do provedor.
Para mais informações sobre as mudanças, você pode se referir ao guia oficial de migração.
Configuração do provedor Logto
A configuração do provedor para Logto foi atualizada:
- O tipo foi alterado de
oauthparaoidc. - O endpoint
wellKnownfoi removido, e você precisa fornecer o campoissuerem vez disso. - Não é necessário especificar o algoritmo de assinatura
id_token, ele agora suportaES384e será automaticamente detectado.
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: Alterar 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 emissor na página de Detalhes do Aplicativo Logto, no campo "Ponto de extremidade do emissor". Deve se parecer com https://xxxx.logto.app/oidc se você estiver usando o serviço em nuvem Logto.
E então você pode remover o campo wellKnown.
Passo 3: Remover a assinatura do algoritmo 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. Ele suporta ES384 agora e será automaticamente detectado.
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 a sua aplicação funciona conforme esperado. Certifique-se também de consultar o guia de início rápido do NextAuth.

