Español
  • js
  • next
  • next-auth
  • auth.js

Migrando de NextAuth.js v4 a Auth.js v5

Una guía para migrar la integración de Logto de NextAuth.js v4 a v5.

Sijie
Sijie
Developer

La versión 5 de NextAuth.js es una reescritura importante del paquete next-auth, que trae actualizaciones significativas que afectan varias integraciones, incluido Logto. Esta guía te guiará a través del proceso de migración de tu integración de Logto de NextAuth.js v4 a Auth.js v5.

Recientemente hemos actualizado nuestra guía de inicio rápido de NextAuth. ¡Échale un vistazo!

Entendiendo los cambios

Auth.js v5

NextAuth.js v5 introduce varios cambios importantes, el cambio principal que afecta la forma en que integras Logto con tu aplicación es el cambio en "Proveedores de OIDC/OAuth". En la documentación oficial, se dice "Auth.js ahora se basa en @auth/core con un cumplimiento más estricto de las especificaciones de OAuth/OIDC, lo que podría romper algunos proveedores de OAuth existentes", para los usuarios de Logto, esto significa que necesitas actualizar la configuración del proveedor.

Para más información sobre los cambios, puedes consultar la guía de migración oficial.

Configuración del proveedor Logto

La configuración del proveedor para Logto ha sido actualizada:

  • El tipo ha cambiado de oauth a oidc.
  • El punto final wellKnown ha sido eliminado, y necesitas proporcionar el campo issuer en su lugar.
  • No es necesario especificar el algoritmo de firma de id_token, ahora soporta ES384 y será detectado automáticamente.

Guía de migración paso a paso

Actualiza la configuración del proveedor en tu archivo pages/api/auth/[...nextauth].js con la nueva plantilla de configuración:

Paso 1: Cambiar el tipo de proveedor

Cambia el tipo de proveedor de oauth a oidc.

Paso 2: Añadir el campo issuer

Añade el campo issuer a la configuración del proveedor. Puedes obtener el valor del emisor desde la página de Detalles de la Aplicación Logto, en el campo "Punto final del emisor". Debería verse como https://xxxx.logto.app/oidc si estás utilizando el servicio en la nube de Logto.

Y luego puedes eliminar el campo wellKnown.

Paso 3: Eliminar el algoritmo de firma id_token_signed_response_alg

Ya no necesitas especificar el algoritmo de firma id_token_signed_response_alg en la configuración del proveedor. Ahora soporta ES384 y será detectado automáticamente.

Actualizar el proyecto

Después de actualizar la configuración del proveedor, necesitas actualizar el paquete next-auth a la v5, sigue la guía de migración oficial para actualizar el paquete y asegurarte de que tu aplicación funcione según lo esperado. Asegúrate también de consultar la guía de inicio rápido de NextAuth.