Saltar al contenido principal

Configuración de cuenta mediante Management API

Integraciones

Logto proporciona varias Management API para gestionar cuentas de usuario. Puedes usar estas API para construir una página de configuración de cuenta de autoservicio para los usuarios finales.

Arquitectura

  1. Usuario: Usuario final autenticado que necesita acceder y gestionar la configuración de su cuenta.
  2. Aplicación cliente: Tu aplicación cliente que sirve la página de configuración de cuenta al usuario.
  3. Aplicación del lado del servidor: Aplicación del lado del servidor que proporciona la API de configuración de cuenta al cliente. Interactúa con la Management API de Logto.
  4. Logto: Logto como el servicio de autenticación y autorización. Proporciona la Management API para gestionar cuentas de usuario.

Diagrama de secuencia

  1. El usuario accede a la aplicación cliente.
  2. La aplicación cliente envía la solicitud de autenticación a Logto y redirige al usuario a la página de inicio de sesión de Logto.
  3. El usuario inicia sesión en Logto.
  4. El usuario autenticado es redirigido de vuelta a la aplicación cliente con el código de autorización.
  5. La aplicación cliente solicita el token de acceso a Logto para el acceso a la API de configuración de cuenta autoalojada.
  6. Logto concede el token de acceso a la aplicación cliente.
  7. La aplicación cliente envía la solicitud de configuración de cuenta a la aplicación del lado del servidor con el token de acceso del usuario.
  8. La aplicación del lado del servidor verifica la identidad y el permiso del solicitante a partir del token de acceso del usuario. Luego solicita un token de acceso a Management API de Logto.
  9. Logto concede el token de acceso a Management API a la aplicación del lado del servidor.
  10. La aplicación del lado del servidor solicita los datos del usuario a Logto utilizando el token de acceso a Management API.
  11. Logto verifica la identidad del servidor y el permiso de Management API y devuelve los datos del usuario.
  12. La aplicación del lado del servidor procesa los datos del usuario según el permiso del solicitante y devuelve los detalles de la cuenta del usuario a la aplicación cliente.

Integrar Management API en la aplicación del lado del servidor

Consulta la sección de Management API para aprender cómo integrar las Management API con aplicaciones del lado del servidor.

APIs de gestión de usuarios

Esquema de datos del usuario

Consulta la sección de datos del usuario y datos personalizados para aprender más sobre el esquema de usuario en Logto.

APIs de gestión de perfil e identificadores de usuario

El perfil y los identificadores de un usuario son esenciales para la gestión de usuarios. Puedes usar las siguientes APIs para gestionar perfiles e identificadores de usuario.

métodorutadescripción
GET/api/users/{userId}Obtener detalles del usuario por ID de usuario.
PATCH/api/users/{userId}Actualizar detalles del usuario.
PATCH/api/users/{userId}/profileActualizar campos del perfil del usuario por ID de usuario.
GET/api/users/{userId}/custom-dataObtener datos personalizados del usuario por ID de usuario.
PATCH/api/users/{userId}/custom-dataActualizar datos personalizados del usuario por ID de usuario.
PATCH/api/users/{userId}/is-suspendedActualizar estado de suspensión del usuario por ID de usuario.

Verificación de correo electrónico y número de teléfono

En el sistema Logto, tanto las direcciones de correo electrónico como los números de teléfono pueden servir como identificadores de usuario, por lo que su verificación es esencial. Para apoyar esto, proporcionamos un conjunto de APIs de código de verificación para ayudar a verificar el correo electrónico o número de teléfono proporcionado.

nota

Asegúrate de verificar el correo electrónico o número de teléfono antes de actualizar el perfil del usuario con un nuevo correo electrónico o número de teléfono.

métodorutadescripción
POST/api/verification/verification-codesEnviar código de verificación de correo electrónico o número de teléfono.
POST/api/verification/verification-codes/verifyVerificar correo electrónico o número de teléfono mediante código de verificación.

Gestión de contraseñas de usuario

métodorutadescripción
POST/api/users/{userId}/password/verifyVerificar la contraseña actual del usuario por ID de usuario.
PATCH/api/users/{userId}/passwordActualizar la contraseña del usuario por ID de usuario.
GET/api/users/{userId}/has-passwordComprobar si el usuario tiene una contraseña por ID de usuario.
nota

Asegúrate de verificar la contraseña actual del usuario antes de actualizar la contraseña del usuario.

Gestión de identidades sociales del usuario

métodorutadescripción
GET/api/users/{userId}Obtener detalles del usuario por ID de usuario. Las identidades sociales se pueden encontrar en el campo identities.
POST/api/users/{userId}/identitiesVincular una identidad social autenticada al usuario por ID de usuario.
DELETE/api/users/{userId}/identitiesDesvincular una identidad social del usuario por ID de usuario.
PUT/api/users/{userId}/identitiesActualizar directamente una identidad social vinculada al usuario por ID de usuario.
POST/api/connectors/{connectorId}/authorization-uriObtener el URI de autorización para un proveedor de identidad social. Usa este URI para iniciar una nueva conexión de identidad social.
  1. El usuario accede a la aplicación cliente y solicita vincular una identidad social.
  2. La aplicación cliente envía una solicitud al servidor para vincular una identidad social.
  3. El servidor envía una solicitud a Logto para obtener el URI de autorización para el proveedor de identidad social. Necesitas proporcionar tu propio parámetro state y redirect_uri en la solicitud. Asegúrate de registrar el redirect_uri en el proveedor de identidad social.
  4. Logto devuelve el URI de autorización al servidor.
  5. El servidor devuelve el URI de autorización a la aplicación cliente.
  6. La aplicación cliente redirige al usuario al URI de autorización de IdP.
  7. El usuario inicia sesión en el IdP.
  8. IdP redirige al usuario de vuelta a la aplicación cliente usando el redirect_uri con el código de autorización.
  9. La aplicación cliente valida el state y reenvía la respuesta de autorización de IdP al servidor.
  10. El servidor envía una solicitud a Logto para vincular la identidad social al usuario.
  11. Logto obtiene la información del usuario de IdP usando el código de autorización.
  12. IdP devuelve la información del usuario a Logto y Logto vincula la identidad social al usuario.
nota

Hay algunas limitaciones a considerar al vincular nuevas identidades sociales a un usuario:

  • Management API no tiene ningún contexto de sesión, cualquier conector social que requiera una sesión activa para mantener de manera segura el estado de autenticación social no puede ser vinculado a través de Management API. Los conectores no compatibles incluyen apple, OIDC estándar y conector OAuth 2.0 estándar.
  • Por la misma razón, Logto no puede verificar el parámetro state en la respuesta de autorización. Asegúrate de almacenar el parámetro state en tu aplicación cliente y validarlo cuando se reciba la respuesta de autorización.
  • Necesitas registrar el redirect_uri en el proveedor de identidad social con anticipación. De lo contrario, el IdP social no redirigirá al usuario de vuelta a tu aplicación cliente. Tu IdP social debe aceptar más de un redirect_uri de callback, uno para el inicio de sesión del usuario, otro para tu propia página de vinculación de perfil.

Gestión de identidades empresariales del usuario

métodorutadescripción
GET/api/users/{userId}?includeSsoIdentities=trueObtener detalles del usuario por ID de usuario. Las identidades empresariales se pueden encontrar en el campo ssoIdentities. Agrega el parámetro de consulta includeSsoIdentities=true a la API de detalles del usuario para incluirlas.

Actualmente, Management API no admite vincular o desvincular identidades empresariales a un usuario. Solo puedes mostrar las identidades empresariales vinculadas a un usuario.

Gestión de configuraciones de MFA del usuario

métodorutadescripción
GET/api/users/{userId}/mfa-verificationsObtener configuraciones de MFA del usuario por ID de usuario.
POST/api/users/{userId}/mfa-verificationsConfigurar una verificación de MFA para el usuario por ID de usuario.
DELETE/api/users/{userId}/mfa-verifications/{verificationId}Eliminar una verificación de MFA del usuario por ID.

Eliminación de cuenta de usuario

métodorutadescripción
DELETE/api/users/{userId}Eliminar un usuario por ID de usuario.