Saltar al contenido principal

Invitar miembros a la organización

En aplicaciones multi‑tenant, un requisito común es invitar miembros a una organización. Esta guía te muestra los pasos y detalles técnicos para implementar esta funcionalidad.

Descripción general del flujo

El proceso general se ilustra en el siguiente diagrama:

Crear roles de organización

Antes de invitar miembros, crea roles de organización. Consulta la plantilla de organización para aprender más sobre roles y permisos.

En esta guía, vamos a crear dos roles típicos de organización: admin y member.

El rol admin tiene acceso total a todos los recursos de la organización, mientras que el rol member tiene acceso limitado. Por ejemplo:

  • Rol admin:
    • read:data - Acceso de lectura a todos los recursos de datos de la organización.
    • write:data - Acceso de escritura a todos los recursos de datos de la organización.
    • delete:data - Acceso de eliminación a todos los recursos de datos de la organización.
    • invite:member - Invitar miembros a la organización.
    • manage:member - Gestionar miembros en la organización.
    • delete:member - Eliminar miembros de la organización.
  • Rol member:
    • read:data - Acceso de lectura a todos los recursos de datos de la organización.
    • write:data - Acceso de escritura a todos los recursos de datos de la organización.
    • invite:member - Invitar miembros a la organización.

Esto se puede hacer fácilmente en la Consola de Logto. También puedes usar la Logto Management API para crear roles de organización de forma programática.

Configura tu conector de correo electrónico

Dado que las invitaciones se envían por correo electrónico, asegúrate de que tu conector de correo electrónico esté correctamente configurado. Para enviar invitaciones, configura una plantilla de correo electrónico con el tipo de uso OrganizationInvitation. Puedes incluir variables de la organización (por ejemplo, nombre, logo) y del invitador (por ejemplo, correo electrónico, nombre) variables en el contenido, y personalizar plantillas localizadas según sea necesario.

Un ejemplo de plantilla de correo electrónico para el tipo de uso OrganizationInvitation se muestra a continuación:

{
"subject": "Bienvenido a mi organización",
"content": "<p>Únete a {{organization.name}} mediante este <a href=\"{{link}}\" target=\"_blank\">enlace</a>.</p>",
"usageType": "OrganizationInvitation",
"type": "text/html"
}

El marcador {{link}} en el contenido del correo será reemplazado por el enlace real de invitación cuando se envíe el correo.

nota:

El “servicio de correo electrónico de Logto” incorporado en Logto Cloud actualmente no admite el tipo de uso OrganizationInvitation. Configura tu propio conector de correo electrónico (por ejemplo, SendGrid) y configura la plantilla OrganizationInvitation en su lugar.

Gestiona invitaciones con Logto Management API

nota:

Si aún no has configurado la Logto Management API, consulta Interactuar con Management API para más detalles.

Crear una invitación de organización con Logto Management API

Existe un conjunto de Management APIs relacionadas con invitaciones en la funcionalidad de organizaciones. Con estas APIs, puedes:

  • POST /api/organization-invitations: Crear una invitación de organización con un rol de organización asignado.
  • POST /api/one-time-tokens: Crear un token de un solo uso para que el invitado se autentique cuando acepte la invitación. Aprende más
  • POST /api/organization-invitations/{id}/message: Enviar la invitación de la organización al invitado por correo electrónico.
nota:

El payload admite una propiedad link para que puedas componer tu propio enlace de invitación basado en el ID de la invitación. Por ejemplo:

{
"link": "https://your-app.com/invitation/join?id=your-invitation-id&token=your-one-time-token&email=invitee-email"
}