Italiano
  • js
  • next
  • next-auth
  • auth.js

Migrazione da NextAuth.js v4 ad Auth.js v5

Una guida per migrare l'integrazione Logto da NextAuth.js v4 a v5.

Sijie
Sijie
Developer

La versione 5 di NextAuth.js è una riscrittura importante del pacchetto next-auth, che porta aggiornamenti radicali che influenzano varie integrazioni, incluso Logto. Questa guida ti guiderà attraverso il processo di migrazione della tua integrazione Logto da NextAuth.js v4 ad Auth.js v5.

Abbiamo recentemente aggiornato la nostra guida rapida di NextAuth. Dai un'occhiata!

Comprendere le modifiche

Auth.js v5

NextAuth.js v5 introduce diverse modifiche radicali, la principale modifica che influenza il modo in cui integri Logto con la tua applicazione è il cambiamento dei "Provider OIDC/OAuth". Nella documentazione ufficiale, si dice che "Auth.js ora si basa su @auth/core con una conformità più rigorosa alle specifiche OAuth/OIDC, il che potrebbe interrompere alcuni provider OAuth esistenti", per gli utenti Logto, questo significa che è necessario aggiornare la configurazione del provider.

Per ulteriori informazioni sulle modifiche, puoi consultare la guida di migrazione ufficiale.

Configurazione del provider Logto

La configurazione del provider per Logto è stata aggiornata:

  • Il tipo è stato cambiato da oauth a oidc.
  • L'endpoint wellKnown è stato rimosso e devi fornire il campo issuer al suo posto.
  • Non è necessario specificare l'algoritmo di firma del id_token, ora supporta ES384 e verrà rilevato automaticamente.

Guida passo passo alla migrazione

Aggiorna la configurazione del provider nel tuo file pages/api/auth/[...nextauth].js con il nuovo modello di configurazione:

Passo 1: Cambia il tipo di provider

Cambia il tipo di provider da oauth a oidc.

Passo 2: Aggiungi il campo issuer

Aggiungi il campo issuer alla configurazione del provider. Puoi ottenere il valore dell'issuer dalla pagina dei Dettagli dell'Applicazione Logto, nel campo "Issuer endpoint". Dovrebbe apparire come https://xxxx.logto.app/oidc se stai utilizzando il servizio cloud di Logto.

E poi puoi rimuovere il campo wellKnown.

Passo 3: Rimuovi l'algoritmo di firma id_token_signed_response_alg

Non devi più specificare l'algoritmo di firma id_token_signed_response_alg nella configurazione del provider. Ora supporta ES384 e verrà rilevato automaticamente.

Aggiorna il progetto

Dopo aver aggiornato la configurazione del provider, devi aggiornare il pacchetto next-auth alla v5, segui la guida di migrazione ufficiale per aggiornare il pacchetto e assicurati che la tua applicazione funzioni come previsto. Assicurati anche di fare riferimento alla guida rapida di NextAuth.