Planifica tu arquitectura
Para establecer las mejores prácticas en diseño y planificar tu arquitectura, considera tus necesidades desde diferentes perspectivas. Enfócate en el objetivo final y el flujo de trabajo, no solo en las tecnologías y características subyacentes. Aquí hay algunas preguntas clave para guiarte e inspirarte en la construcción de la arquitectura ideal para tu producto.
¿Cuál es tu modelo de negocio y quiénes son las partes y los interesados clave involucrados?
Generalmente, hay dos modelos de negocio principales, B2C y B2B, cada uno involucrando diferentes partes en escenarios complejos de gestión de identidad. Comprender a estos interesados clave te ayuda a diseñar sistemas que ofrezcan una experiencia centrada en el usuario y aborden todos los aspectos de la gestión de identidad.
B2C
En las aplicaciones B2C, la gestión de identidad es típicamente sencilla y generalmente involucra solo dos partes.
Desarrolladores (Tú)
Esto se refiere a administradores y colaboradores de Logto Console — típicamente tú y tu equipo de desarrollo — que gestionan y aseguran el grupo de identidades de usuario y trabajan directamente con la base de datos de identidad. Puedes gestionar directamente las identidades de los clientes en Logto Console o realizar desarrollos personalizados utilizando el Logto Management API.
Tus consumidores
Tus consumidores son identidades de usuario almacenadas en el servicio y base de datos central de Logto. En un modelo B2C, los consumidores pueden gestionar su propia autenticación e información personal.
B2B
En las aplicaciones B2B, se introduce otra capa y contexto en esta arquitectura. El propietario de la unidad de negocio (u organización) controla quién puede acceder a su instancia, cómo se autentican y qué pueden hacer. La organización gestiona la identidad de todos los usuarios finales que acceden a su instancia.
Desarrolladores (Tú)
Esto todavía se refiere a administradores y colaboradores de Logto Console. Aunque los administradores de la organización pueden gestionar identidades, los desarrolladores aún pueden gestionar directamente las identidades de los clientes en Logto Console o a través de desarrollos personalizados utilizando el Logto Management API.
Tus clientes (Administradores de la organización)
Tus clientes son unidades de negocio que representan "organizaciones" en una aplicación multi-tenant, por ejemplo, espacios de trabajo en Slack o Notion. Cada espacio de trabajo generalmente tiene múltiples roles y uno o más administradores que gestionan empleados o usuarios. En el contenido siguiente, nos referimos a las personas que PUEDEN gestionar identidades de miembros como "administradores de la organización".
El personal, socios o consumidores de tu cliente
Estas son identidades de usuario final, referidas como "miembros" en el contexto de la organización, y pueden ser gestionadas dentro de una organización. Aunque estas identidades están separadas por organizaciones, todas están agregadas bajo un único sistema de identidad.
En escenarios del mundo real, desde una perspectiva de producto, estos podrían ser empleados de la empresa, socios comerciales o incluso consumidores asociados con la organización.
Otros
Otros modelos, como B2B2C, pueden surgir de estos dos debido a su complejidad. Sin embargo, el enfoque sigue siendo el mismo: todos los cambios provienen del mismo núcleo fundamental.
En el próximo capítulo, examinaremos detalladamente estas dos arquitecturas comunes y destacaremos las características relacionadas que admite Logto.
Destila tus necesidades de autenticación
Una vez que comprendas a los usuarios clave y las partes involucradas en tu diseño tecnológico y de producto, considera las siguientes preguntas para refinar tu arquitectura de identidad y determinar tus necesidades de autenticación y nivel de control:
-
¿Qué opciones tienen los clientes para la autenticación y la experiencia de inicio de sesión? Estas generalmente dependen de tu negocio, estrategia de adquisición y necesidades del producto.
ej. ¿Qué características necesita mi aplicación? ¿Inicio de sesión social? ¿Inicio de sesión sin contraseña?
-
¿Qué nivel de control deseas (desarrolladores) sobre las acciones de los clientes?
ej. ¿Pueden los clientes actualizar y mantener su perfil? ¿Pueden los clientes activar y desactivar MFA por su cuenta? ¿Pueden elegir métodos de inicio de sesión preferidos?
-
¿Qué tipos de personalización te gustaría delegar a las organizaciones? Estas dependen del dominio e industria de tu producto y de las necesidades específicas de tus clientes, y pueden variar de una organización a otra.
ej. ¿Debería variar la experiencia de inicio de sesión para cada organización? Y si es así, ¿la personalización debería limitarse a la marca, o también debería incluir diferencias en el flujo de autenticación?
-
¿Qué nivel de control te gustaría que tus administradores de organización tuvieran sobre las acciones de sus miembros?
ej. ¿Debería el administrador de la organización poder decidir si se requiere MFA? ¿Debería el administrador tener la capacidad de cambiar la contraseña de un miembro?
¿Necesitas un sistema de identidad universal único o varios separados?
Otra pregunta clave a tener en cuenta es preguntarte si tú o un segmento de tu negocio o producto necesita un sistema de identidad o varios separados.
Típicamente, la respuesta es un sistema de identidad universal único, lo que significa que solo necesitas un inquilino de Logto (o una instancia de consola de administración de Logto en OSS). Logto está diseñado para admitir tanto múltiples aplicaciones como múltiples organizaciones dentro de un solo inquilino. Un inquilino de Logto en producción suele ser suficiente para la mayoría de las necesidades. Aquí hay algunos escenarios comunes que podrías enfrentar:
Me gustaría construir una aplicación SaaS con multi-tenancy
Si estás construyendo una aplicación SaaS con el concepto de "espacio de trabajo" u "organización" para cada cliente, puedes usar organizaciones para gestionar el espacio de trabajo de cada cliente dentro de un solo inquilino.
En este caso, un usuario puede ser miembro de múltiples organizaciones. Por ejemplo, un usuario puede tener un espacio de trabajo personal y unirse al espacio de trabajo de la empresa.
Tengo múltiples aplicaciones
Con Logto, puedes gestionar múltiples aplicaciones dentro de un solo inquilino independientemente de
- El tipo de aplicación (por ejemplo, web, móvil, escritorio, etc.)
- Los casos de uso y funcionalidades de la aplicación (por ejemplo, aplicación de conductor, aplicación de pasajero, etc.)
Tengo múltiples clientes empresariales
Puedes usar organizaciones con SSO empresarial para gestionar múltiples clientes empresariales dentro de un solo inquilino. Al configurar los ajustes de dominio de correo electrónico de SSO empresarial y usar la función de aprovisionamiento Just-in-Time, puedes automatizar el proceso de usuarios con cuentas de SSO empresarial uniéndose o iniciando sesión en las organizaciones apropiadas.