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
- Usuario: Usuario final autenticado que necesita acceder y gestionar la configuración de su cuenta.
- Aplicación cliente: Tu aplicación cliente que sirve la página de configuración de cuenta al usuario.
- 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.
- Logto: Logto como el servicio de autenticación y autorización. Proporciona la Management API para gestionar cuentas de usuario.
Diagrama de secuencia
- El usuario accede a la aplicación cliente.
- 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.
- El usuario inicia sesión en Logto.
- El usuario autenticado es redirigido de vuelta a la aplicación cliente con el código de autorización.
- La aplicación cliente solicita el token de acceso a Logto para el acceso a la API de configuración de cuenta autoalojada.
- Logto concede el token de acceso a la aplicación cliente.
- 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.
- 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.
- Logto concede el token de acceso a Management API a la aplicación del lado del servidor.
- La aplicación del lado del servidor solicita los datos del usuario a Logto utilizando el token de acceso a Management API.
- Logto verifica la identidad del servidor y el permiso de Management API y devuelve los datos del usuario.
- 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étodo | ruta | descripció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}/profile | Actualizar campos del perfil del usuario por ID de usuario. |
GET | /api/users/{userId}/custom-data | Obtener datos personalizados del usuario por ID de usuario. |
PATCH | /api/users/{userId}/custom-data | Actualizar datos personalizados del usuario por ID de usuario. |
PATCH | /api/users/{userId}/is-suspended | Actualizar 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.
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étodo | ruta | descripción |
---|---|---|
POST | /api/verification/verification-codes | Enviar código de verificación de correo electrónico o número de teléfono. |
POST | /api/verification/verification-codes/verify | Verificar correo electrónico o número de teléfono mediante código de verificación. |
Gestión de contraseñas de usuario
método | ruta | descripción |
---|---|---|
POST | /api/users/{userId}/password/verify | Verificar la contraseña actual del usuario por ID de usuario. |
PATCH | /api/users/{userId}/password | Actualizar la contraseña del usuario por ID de usuario. |
GET | /api/users/{userId}/has-password | Comprobar si el usuario tiene una contraseña por ID de usuario. |
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étodo | ruta | descripció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}/identities | Vincular una identidad social autenticada al usuario por ID de usuario. |
DELETE | /api/users/{userId}/identities | Desvincular una identidad social del usuario por ID de usuario. |
PUT | /api/users/{userId}/identities | Actualizar directamente una identidad social vinculada al usuario por ID de usuario. |
POST | /api/connectors/{connectorId}/authorization-uri | Obtener el URI de autorización para un proveedor de identidad social. Usa este URI para iniciar una nueva conexión de identidad social. |
- El usuario accede a la aplicación cliente y solicita vincular una identidad social.
- La aplicación cliente envía una solicitud al servidor para vincular una identidad social.
- 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
yredirect_uri
en la solicitud. Asegúrate de registrar elredirect_uri
en el proveedor de identidad social. - Logto devuelve el URI de autorización al servidor.
- El servidor devuelve el URI de autorización a la aplicación cliente.
- La aplicación cliente redirige al usuario al URI de autorización de IdP.
- El usuario inicia sesión en el IdP.
- IdP redirige al usuario de vuelta a la aplicación cliente usando el
redirect_uri
con el código de autorización. - La aplicación cliente valida el
state
y reenvía la respuesta de autorización de IdP al servidor. - El servidor envía una solicitud a Logto para vincular la identidad social al usuario.
- Logto obtiene la información del usuario de IdP usando el código de autorización.
- IdP devuelve la información del usuario a Logto y Logto vincula la identidad social al usuario.
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ámetrostate
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 unredirect_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étodo | ruta | descripción |
---|---|---|
GET | /api/users/{userId}?includeSsoIdentities=true | Obtener 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étodo | ruta | descripción |
---|---|---|
GET | /api/users/{userId}/mfa-verifications | Obtener configuraciones de MFA del usuario por ID de usuario. |
POST | /api/users/{userId}/mfa-verifications | Configurar 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étodo | ruta | descripción |
---|---|---|
DELETE | /api/users/{userId} | Eliminar un usuario por ID de usuario. |