Migrando de NextAuth.js v4 para Auth.js v5
Um guia para migrar a integração do Logto de NextAuth.js v4 para v5.
A versão 5 do NextAuth.js é uma reescrita major do pacote next-auth
, que traz atualizações disruptivas que afetam várias integrações, incluindo o Logto. Este guia irá orientá-lo no processo de migração da sua integração com o Logto de NextAuth.js v4 para Auth.js v5.
Entendendo as mudanças
Auth.js v5
NextAuth.js v5 introduz várias mudanças disruptivas, a principal mudança que afeta a maneira como você integra o Logto na sua aplicação é a mudança em "OIDC/OAuth Providers". Na documentação oficial, diz-se que "Auth.js agora baseia-se em @auth/core com uma conformidade mais rigorosa com a especificação OAuth/OIDC, o que pode quebrar alguns provedores OAuth existentes". Para os utilizadores do Logto, isso significa que é necessário atualizar a configuração do provedor.
Para mais informações sobre as mudanças, pode consultar o guia oficial de migração.
Configuração do provedor Logto
A configuração do provedor Logto foi atualizada:
- O tipo foi alterado de
oauth
paraoidc
. - O endpoint
wellKnown
foi removido e você precisa fornecer o campoissuer
em vez disso. - Não é necessário especificar o algorítmo de assinatura do
id_token
, agora ele suportaES384
e será detectado automaticamente.
Guia passo a passo para migração
Atualize a configuração do provedor no ficheiro 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
na configuração do provedor. Pode obter o valor do issuer na página de Detalhes da Aplicação Logto, no campo "Issuer endpoint". Deve ser algo como https://xxxx.logto.app/oidc
se estiver a utilizar o serviço cloud do Logto.
E depois pode remover o campo wellKnown
.
Passo 3: Remover o algoritmo de assinatura id_token_signed_response_alg
Já não precisa especificar o algoritmo de assinatura do id_token_signed_response_alg
na configuração do provedor. Agora ele suporta ES384
e será detectado automaticamente.
Atualizar o projeto
Após atualizar a configuração do provedor, precisa atualizar o pacote next-auth
para a v5, siga o guia oficial de migração para atualizar o pacote e certifique-se que a sua aplicação funciona conforme esperado.