Configuración de cuenta mediante Management API
Integraciones
Logto proporciona varias Management API para gestionar cuentas de usuario. Puedes utilizar estas APIs 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 muestra 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 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 acceder a la API de configuración de cuenta autohospedada.
- 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 permisos del solicitante a partir del token de acceso del usuario. Luego solicita un token de acceso a Management API a 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 usando el token de acceso de 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 los permisos del solicitante y devuelve los detalles de la cuenta de 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 APIs con aplicaciones del lado del servidor.
APIs de gestión de usuarios
Esquema de datos de usuario
Consulta la sección de datos de usuario y datos personalizados para obtener más información 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 utilizar las siguientes APIs para gestionar perfiles e identificadores de usuario.
método | path | descripción |
---|---|---|
GET | /api/users/{userId} | Obtener detalles del usuario por ID. |
PATCH | /api/users/{userId} | Actualizar detalles del usuario. |
PATCH | /api/users/{userId}/profile | Actualizar campos del perfil por ID. |
GET | /api/users/{userId}/custom-data | Obtener datos personalizados por ID. |
PATCH | /api/users/{userId}/custom-data | Actualizar datos personalizados por ID. |
PATCH | /api/users/{userId}/is-suspended | Actualizar estado de suspensión por ID. |
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 ello, 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 | path | descripción |
---|---|---|
POST | /api/verifications/verification-code | Enviar código de verificación por correo o teléfono. |
POST | /api/verifications/verification-code/verify | Verificar correo o teléfono mediante código. |
Gestión de contraseña de usuario
método | path | descripción |
---|---|---|
POST | /api/users/{userId}/password/verify | Verificar la contraseña actual por ID. |
PATCH | /api/users/{userId}/password | Actualizar la contraseña por ID. |
GET | /api/users/{userId}/has-password | Comprobar si el usuario tiene contraseña por ID. |
Asegúrate de verificar la contraseña actual del usuario antes de actualizar la contraseña.
Gestión de identidades sociales de usuario
método | path | descripción |
---|---|---|
GET | /api/users/{userId} | Obtener detalles del usuario por ID. Las identidades sociales están en el campo identities . |
POST | /api/users/{userId}/identities | Vincular una identidad social autenticada al usuario por ID. |
DELETE | /api/users/{userId}/identities | Desvincular una identidad social del usuario por ID. |
PUT | /api/users/{userId}/identities | Actualizar directamente una identidad social vinculada al usuario por ID. |
POST | /api/connectors/{connectorId}/authorization-uri | Obtener la URI de autorización para un proveedor de identidad social. Usa esta URI para iniciar una nueva conexión. |
- 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 la URI de autorización del proveedor de identidad social. Debes 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 la URI de autorización al servidor.
- El servidor devuelve la URI de autorización a la aplicación cliente.
- La aplicación cliente redirige al usuario a la URI de autorización del IdP.
- El usuario inicia sesión en el IdP.
- El 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 del 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 del IdP usando el código de autorización.
- El 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 forma segura el estado de autenticación social no puede ser vinculado mediante Management API. Los conectores no soportados 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. - Debes registrar el
redirect_uri
en el proveedor de identidad social con antelació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 de usuario y otro para tu propia página de vinculación de perfil.
Gestión de identidades empresariales de usuario
método | path | descripción |
---|---|---|
GET | /api/users/{userId}?includeSsoIdentities=true | Obtener detalles del usuario por ID. Las identidades empresariales están en el campo ssoIdentities . Añade el parámetro de consulta includeSsoIdentities=true para incluirlas en la API. |
Actualmente, la Management API no admite vincular o desvincular identidades empresariales a un usuario. Solo puedes mostrar las identidades empresariales vinculadas a un usuario.
Token de acceso personal
método | path | descripción |
---|---|---|
GET | /api/users/{userId}/personal-access-tokens | Obtener todos los tokens de acceso personal del usuario. |
POST | /api/users/{userId}/personal-access-tokens | Añadir un nuevo token de acceso personal para el usuario. |
DELETE | /api/users/{userId}/personal-access-tokens/{name} | Eliminar un token del usuario por nombre. |
PATCH | /api/users/{userId\s}/personal-access-tokens/{name} | Actualizar un token del usuario por nombre. |
Los tokens de acceso personal proporcionan una forma segura para que los usuarios otorguen token de acceso (Access token) sin usar sus credenciales ni inicio de sesión interactivo. Aprende más sobre el uso de tokens de acceso personal.
Gestión de configuración MFA de usuario
método | path | descripción |
---|---|---|
GET | /api/users/{userId}/mfa-verifications | Obtener configuración MFA del usuario por ID. |
POST | /api/users/{userId}/mfa-verifications | Configurar una verificación MFA por ID. |
DELETE | /api/users/{userId}/mfa-verifications/{verificationId} | Eliminar una verificación MFA por ID. |
Eliminación de cuenta de usuario
método | path | descripción |
---|---|---|
DELETE | /api/users/{userId} | Eliminar un usuario por ID. |