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.
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
aoidc
. - El punto final
wellKnown
ha sido eliminado, y necesitas proporcionar el campoissuer
en su lugar. - No es necesario especificar el algoritmo de firma de
id_token
, ahora soportaES384
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.