Actualizaciones de producto de Logto
馃帀 Presentamos nuestro lanzamiento de julio: Logto API SDK, B贸veda de secretos para el almacenamiento de tokens federados, gesti贸n de TOTP y C贸digos de Respaldo v铆a Account API, 隆y mucho m谩s!
Logto API SDK
Un SDK de TypeScript para interactuar con la Management API de Logto utilizando autenticaci贸n por credenciales de cliente.
C贸mo funciona:
- Crea una aplicaci贸n de machine-to-machine en la Consola de Logto.
- Otorga acceso a la aplicaci贸n a la Management API.
- Instala el SDK via npm:
npm install @logto/api
- Usa
createManagementApi()
para crear un cliente tipado de la Management API con las credenciales de tu aplicaci贸n.
Destacados:
- Maneja autom谩ticamente la autenticaci贸n y renovaci贸n de tokens OAuth.
- Soporta tanto Logto Cloud como instancias autoalojadas.
- Simplifica la integraci贸n con la Management API de Logto, permiti茅ndote enfocar en desarrollar funcionalidades en vez de manejar solicitudes API de bajo nivel.
B贸veda de secretos
La B贸veda de secretos es una soluci贸n de almacenamiento seguro en Logto para manejar datos sensibles de usuarios, incluyendo access tokens, claves API, c贸digos de acceso y otra informaci贸n confidencial. Estos secretos normalmente se utilizan para acceder a servicios de terceros en nombre de los usuarios, haciendo que el almacenamiento seguro sea fundamental.
Soporte para almacenamiento de tokens federados
Ahora se soporta el almacenamiento de tokens tanto para conectores sociales como empresariales de SSO. Cuando est谩 activo, Logto almacena el conjunto de tokens emitido por el proveedor de identidad despu茅s de la autenticaci贸n exitosa. Las aplicaciones pueden luego recuperar el access token m谩s tarde, sin requerir que el usuario vuelva a autenticarse, para llamar a APIs de terceros.
Conectores soportados:
- Conectores sociales: GitHub, Google, Facebook, OAuth 2.0 est谩ndar y OIDC est谩ndar
- Conectores empresariales SSO: Todos los conectores de SSO basados en OIDC
C贸mo funciona:
- Activa el almacenamiento de tokens para conectores de SSO sociales y empresariales en la Consola de Logto o v铆a la Management API de Logto.
- Una vez habilitado, Logto almacena autom谩ticamente el conjunto de tokens emitidos por el proveedor tras una autenticaci贸n exitosa.
- Recupera el token almacenado a trav茅s del Account API cuando lo necesites.
Para m谩s detalles, consulta la documentaci贸n de la B贸veda de secretos.
A帽adir TOTP y C贸digos de Respaldo v铆a Account API
Ahora los usuarios pueden a帽adir TOTP y c贸digos de respaldo a trav茅s del Account API.
POST /api/my-account/mfa-verifications/totp-secret/generate
: Genera un secreto TOTP.POST /api/my-account/mfa-verifications/backup-codes/generate
: Genera c贸digos de respaldo.POST /api/my-account/mfa-verifications
: A帽ade un TOTP o c贸digo de respaldo utilizando el secreto o c贸digos generados.GET /api/my-account/mfa-verifications/backup-codes
: Recupera los c贸digos de respaldo.
Otras mejoras
- Conectores sociales: Se a帽adi贸 soporte para proveer un par谩metro
scope
personalizado al generar la URL de autorizaci贸n para los conectores sociales. Esto permite solicitar permisos adicionales al proveedor social al llamar al endpoint de verificaci贸n social de Logto. Si se proporciona el scope, se utilizar谩 en la solicitud de autorizaci贸n; si no, se usar谩 el scope predeterminado configurado en los ajustes del conector. - Consola: Para soportar mejor la nueva funci贸n de la B贸veda de secretos, hemos reestructurado el dise帽o de la p谩gina de detalles del usuario. Las identidades sociales y SSO empresariales de los usuarios ahora est谩n organizadas en una nueva secci贸n de Conexi贸n. Esta secci贸n lista todas las conexiones vinculadas del usuario, mostrando informaci贸n sobre identidades de terceros y el estado del almacenamiento del token (si aplica). Tambi茅n est谩 disponible una p谩gina detallada de identidad de usuario para cada conexi贸n, proporcionando m谩s informaci贸n sobre la identidad vinculada y los tokens asociados.
Correcci贸n de errores
Restricci贸n de clave for谩nea con conocimiento de arrendatario para la tabla organization_user_relations
Problema
Los desarrolladores pod铆an asignar err贸neamente un user_id
de otro arrendatario a una organizaci贸n, causando errores 500 en los endpoints de usuario de la organizaci贸n. La tabla original organization_user_relations
s贸lo ten铆a una restricci贸n de clave for谩nea sobre users (id)
, permitiendo asignar cualquier ID de usuario existente sin importar el aislamiento por arrendatario.
Causa ra铆z
Logto aplica Row Level Security (RLS) en todas las tablas para aislar el acceso a datos por arrendatario. Al unir la tabla de usuarios con organization_user_relations
, los datos del usuario realmente se vuelven inaccesibles para el arrendatario actual debido a las restricciones de RLS, lo que provoca que los datos de usuario retornen null y dispare errores 500 del servidor.
Soluci贸n
Se a帽adi贸 una restricci贸n de clave for谩nea compuesta (tenant_id, user_id)
haciendo referencia a users (tenant_id, id)
para asegurar que el tenant ID de la relaci贸n organizaci贸n-usuario coincida con el tenant ID del usuario. Esto refuerza el aislamiento correcto de arrendatarios a nivel de base de datos.