Logto v1.41.0 trae control de acceso a nivel de aplicación, políticas de expiración de contraseñas, importantes mejoras en el Centro de Cuenta, reglas configurables para nombres de usuario y códigos de verificación, entrega de mensajes más segura y una ronda de refuerzo en protocolos / seguridad.
SijieDeveloper
Deja de perder semanas en la autenticación de usuarios
Lanza aplicaciones seguras más rápido con Logto. Integra la autenticación de usuarios en minutos y concéntrate en tu producto principal.
Logto v1.41.0 es una versión enfocada en control y seguridad. Brinda a los equipos formas más precisas para decidir quién puede acceder a cada aplicación, controles más completos del ciclo de vida de las contraseñas y un Centro de Cuenta mucho más potente para los usuarios finales. También refuerza la entrega de códigos de verificación, las reglas de nombres de usuario, el manejo SAML/OIDC, la protección contra la repetición de MFA y las rutas de actualización en autoalojamiento. Esto es lo nuevo.
Ahora puedes restringir el acceso a una aplicación directamente desde Logto. Las reglas de acceso pueden orientarse a usuarios específicos, roles de usuarios, organizaciones o roles de organización.
Cuando un usuario no cumple con el conjunto de reglas configuradas, Logto bloquea el flujo de inicio de sesión o acceso a la aplicación con una página de acceso denegado en vez de dejar que la solicitud continúe. Esto hace que el despliegue de apps, el acceso específico para clientes, la protección de herramientas internas y el acceso a nivel organizativo sean más fáciles de gestionar sin tener que delegar toda la decisión en tu código de aplicación.
La Consola ahora soporta la expiración de contraseñas a nivel de inquilino bajo Seguridad > Política de contraseñas.
Los administradores pueden habilitar la expiración de contraseñas, configurar cuántos días una contraseña permanece válida y expirar manualmente la contraseña de un usuario específico desde la página de detalles del usuario. Cuando una contraseña expira, el usuario debe restablecerla a través del método de recuperación configurado antes de poder iniciar sesión con contraseña nuevamente.
Los inicios de sesión SSO y con passkey no se ven afectados. Los usuarios existentes sin un registro de cambio de contraseña son manejados sin problemas: Logto los ancla al momento en que se habilita la política, para que reciban el período de validez completo en lugar de expirar de inmediato.
Centro de Cuenta con más controles de autoservicio#
El Centro de Cuenta sigue evolucionando hasta convertirse en una auténtica superficie de identidad en autoservicio para los usuarios finales.
Esta versión añade gestión de sesiones, revisión de aplicaciones de terceros conectadas, gestión de perfil, carga de avatar, carga de avatar durante el registro de perfil, controles independientes de passkey y preferencia para el aviso de inicio de sesión por passkey.
La página de perfil del Centro de Cuenta, los campos de perfil personalizados al registrarse y los endpoints de carga de avatar también ya están disponibles fuera de las puertas de funciones de desarrollo.
También se han incluido algunas correcciones importantes:
El tema, la plataforma y el color de la marca se aplican antes de la hidración para reducir el parpadeo visual.
La verificación reforzada se limita a registros de verificación de permisos de usuario.
Las identidades sociales pueden vincularse sin verificación de contraseña, correo electrónico o teléfono cuando el usuario no tiene métodos de verificación heredados.
La edición de nombre de usuario en la Consola ahora redirige al Centro de Cuenta para completar la verificación requerida.
Políticas de nombres de usuario y códigos de verificación#
Las reglas para nombres de usuario a nivel de inquilino ahora se pueden configurar en Consola > Experiencia de inicio de sesión > Registro e inicio de sesión > Opciones avanzadas.
La política cubre sensibilidad a mayúsculas, límites de longitud y tipos de caracteres permitidos. Se aplica en todos los registros de usuario por parte del usuario final, incluyendo registro, cumplimiento de perfil, Centro de Cuenta, API de Cuenta y /me.
El cambio a nombres de usuario insensibles a mayúsculas está protegido: Logto verifica la existencia de nombres distintos solo por mayúsculas y bloquea el cambio de política hasta que se resuelvan los conflictos. El claim preferred_username de OIDC ahora también recurre al username del usuario cuando profile.preferredUsername no está establecido.
Los controles de código de verificación también se trasladan a la configuración de seguridad de la Consola. Los administradores pueden configurar la duración de expiración del código de verificación y el máximo de intentos.
Logto ahora aplica un límite de tasa de envíos por destinatario a nivel de sistema en los caminos de verificación e invitación por email/SMS, incluyendo Experience, MFA, API de Cuenta, API de Gestión, /me, invitaciones a la organización y la API de interacción heredada.
Cuando un envío es limitado, Logto emite un evento webhook Message.RateLimited, que ahora se puede seleccionar en la configuración de webhooks de la Consola.
La entrega de códigos de verificación a destinatarios desconocidos también se suprime cuando el registro está deshabilitado, reduciendo el riesgo de enumeración de cuentas.
Para los tokens de recursos API de organización, el personalizador de access token JWT ahora recibe context.organization con el id, name, description y customData de la organización objetivo.
Esto facilita agregar claims específicos de organización sin tener que insertar todos los mapeos de organización en cada token.
También se han incluido un par de mejoras en la API:
POST /api/applications/:applicationId/roles ahora es idempotente. Los IDs de roles existentes son ignorados en vez de retornar 422 application.role_exists.
El endpoint ahora devuelve 201 con { roleIds, addedRoleIds }, igualando la forma de la API de asignación de roles de usuarios.
La creación de roles de organización con alcances iniciales ahora es transaccional, por lo que los IDs de alcances inválidos ya no dejan roles parcialmente creados.
Esta versión incluye un conjunto enfocado de correcciones de protocolo y seguridad:
Los formularios de auto-envío de IdP SAML ahora escapan los valores de los atributos HTML y rechazan URLs de acción que no sean HTTP(S).
samlify se actualiza a ^2.13.0 para mejorar el escape de XML en las assertions SAML generadas.
La verificación TOTP MFA rechaza códigos reutilizados del mismo contador de intervalo de tiempo o anterior.
Los cuerpos de solicitudes OIDC que contienen bytes nulos ahora retornan 400 invalid_request.
Las cargas de los logs de auditoría eliminan bytes nulos antes de insertarse.
Las comprobaciones de bloqueo de subdirecciones de email ya no construyen expresiones regulares a partir de entradas controladas por el usuario.
Logto Tunnel impide que las solicitudes de archivos estáticos lean fuera de la ruta de experiencia configurada.
También se incluyen correcciones de compatibilidad y almacenamiento: versiones antiguas de Safari y iOS 15 ya no se cierran al arrancar por sintaxis de lookbehind no soportada en regex, los conectores enterprise OIDC pueden recuperar configuración de descubrimiento desde proveedores que rechazan negociación de solo respuesta JSON y los fallos en el transporte de recursos UI personalizados en Azure Blob ahora se mapean como errores de descarga repetibles.
Se requiere una migración de base de datos para v1.41.0. Esta versión incluye alteraciones de esquema para expiración de contraseñas, política de nombres de usuario, política de códigos de verificación, índices de control de tasa de mensajes, valores predeterminados del Centro de Cuenta e índices de logs de servicio.
Luego de actualizar, ejecuta el comando de alteración de base de datos antes de iniciar la nueva versión. Mira la guía de actualización para más detalles.
La variable de entorno CASE_SENSITIVE_USERNAME ahora está obsoleta. Todavía funciona como sobrescritura en tiempo de ejecución, pero la sensibilidad a mayúsculas de nombres de usuario debe configurarse por inquilino con la nueva política de nombres de usuario. Está prevista su eliminación en la próxima versión principal.