Logto en acción: Integra sin problemas Apache Answer para lanzar una comunidad para tus usuarios
Demuestra cómo aprovechar la función de aplicación de terceros de Logto para integrar Apache Answer, creando una plataforma comunitaria unificada donde los usuarios puedan acceder sin problemas al soporte utilizando sus cuentas existentes.
Construir un excelente producto de software es un logro significativo, pero en realidad es solo el comienzo del viaje.
El éxito a largo plazo y la evolución de cualquier aplicación dependen en gran medida de comprender e interactuar con sus usuarios, lo que implica recopilar comentarios, identificar puntos de dolor, responder preguntas y resolver problemas —— un ciclo clave que impulsa la iteración y la mejora.
En este artículo, voy a:
- Explicar cómo funciona la función de Aplicación de Terceros (OIDC) de Logto.
- Mostrarte cómo usar Logto para integrar Apache Answer para construir una comunidad para tus usuarios, permitiéndoles hacer preguntas, compartir ideas y obtener ayuda de tu equipo y otros usuarios.
La ventaja destacada de usar Logto es que los usuarios inician sesión en la comunidad con la misma cuenta que en tu propio sistema. Esto te permite conocer fácilmente el estado actual de los usuarios que hacen preguntas, eliminando la necesidad de múltiples intercambios de ida y vuelta para indagar sobre su situación en tu software.
Qué es Apache Answer
Apache Answer es una plataforma de preguntas y respuestas de código abierto que conecta usuarios y equipos. Crea un espacio para compartir conocimientos y resolver problemas juntos. La plataforma cuenta con vista previa de Markdown en tiempo real, búsqueda avanzada y un sistema de votación para el contenido.
La plataforma admite inicio de sesión con OAuth 2.0 de manera predeterminada. Esto la hace naturalmente compatible con los proveedores de identidad existentes como Logto. Los usuarios pueden iniciar sesión con sus cuentas existentes sin crear nuevas credenciales específicamente para la plataforma comunitaria.
Comprendiendo la función de aplicación de terceros de Logto
Cuando queremos que los usuarios inicien sesión en aplicaciones de terceros usando sus cuentas de Logto, Logto actúa como el Proveedor de Identidad (IdP) de tu aplicación.
Piénsalo como una autoridad central responsable de verificar quiénes son tus usuarios. Cuando un usuario inicia sesión en tu aplicación principal, esta probablemente lo redirige a Logto para manejar el proceso de autenticación (nombre de usuario/contraseña, inicio de sesión social, etc.). Una vez que Logto verifica con éxito al usuario, le dice a tu aplicación, "Sí, este usuario es legítimo," y proporciona alguna información básica sobre él.
Este concepto se extiende más allá de tu aplicación principal. Logto incluye una poderosa función —— Aplicación de Terceros. Esta función permite a Logto ejercer su papel de IdP no solo para tu propia aplicación, sino para otras aplicaciones externas a las que quieres que tus usuarios accedan.
Esto se logra usando OpenID Connect (OIDC), que es una capa de identidad estándar construida sobre el protocolo OAuth 2.0. En términos simples, OIDC permite que una aplicación (como Apache Answer, conocida como la Parte Dependiente o Cliente) solicite y reciba información sobre la identidad de un usuario de un IdP (Logto).
Cuando configuras una aplicación OIDC dentro de Logto para Apache Answer, esencialmente le estás diciendo a Logto: "Prepárate para autenticar usuarios en nombre de Apache Answer si lo solicita, y si el usuario aprueba, envía a Answer de manera segura algunos detalles básicos de identidad del usuario." Esta capacidad es la clave para desbloquear un inicio de sesión único (SSO) sin problemas entre tu aplicación autenticada por Logto y herramientas de terceros como Apache Answer.
Puesta en escena: YourApp + Logto + Apache Answer
Antes de sumergirnos en la configuración, aclaremos los componentes involucrados en nuestro escenario:
- YourApp: Esta es tu aplicación web o móvil principal donde los usuarios ya se registran e inician sesión. Es crucial que YourApp esté integrada con Logto para la autenticación.
- Logto: Tu plataforma central de IAM, actuando como el IdP. Tus usuarios tienen cuentas gestionadas por Logto.
- Apache Answer: La plataforma de preguntas y respuestas de código abierto que quieres desplegar como un centro comunitario para los usuarios de YourApp. Nuestro objetivo es configurar Answer para usar Logto para el inicio de sesión, en lugar de su propio sistema local de nombre de usuario/contraseña.
Pasos prácticos: Configuración de Logto y Apache Answer
Ahora, pongámonos prácticos. El proceso implica configuración tanto en Logto como en Apache Answer.
Instalar Apache Answer
Sigue la guía oficial de instalación para instalar Apache Answer. Y finalmente, puedes acceder a él en http://localhost:9080
de forma predeterminada.
Crear una Aplicación OIDC en Logto
- Inicia sesión en tu Consola Logto.
- Navega a la página de aplicaciones.
- Haz clic en el botón "Crear aplicación" en la esquina superior derecha de la página (si no ves este botón, haz clic en "ver todo" en la parte inferior de la lista de marcos).
- Selecciona la categoría "Aplicación de terceros", luego elige "OIDC".
- Ingresa el nombre de la aplicación (por ejemplo, "Comunidad Apache Answer") y la descripción (opcional).
- Haz clic en "Crear" para completar la creación. Después de crear la aplicación, serás redirigido a la página de detalles de la aplicación.
- En la página de detalles, agrega
http://localhost:9080/answer/api/v1/connector/redirect/basic
al campo Redirect URI. - Haz clic en "Guardar" para guardar la aplicación.
Configurar permisos para Apache Answer
- En la página de detalles de la aplicación, navega a la pestaña Permisos.
- Bajo Conceder permisos de datos de usuario, verás un mensaje que dice "Aún no tienes configurados permisos de concesión de datos de usuario."
- Haz clic en el botón Agregar para configurar qué información del usuario puede acceder Apache Answer.
- Selecciona los alcances necesarios (
profile
yemail
) para permitir que Apache Answer reciba información básica del usuario al iniciar sesión. - Guarda tu configuración de permisos.
Configurar inicio de sesión OAuth en Apache Answer
- Inicia sesión en tu Apache Answer usando la cuenta de administrador.
- Visita el panel Admin en
http://localhost:9080/admin
. - Navega a Plugins -> Plugins Instalados y activa el plugin OAuth2 Basic.
- Navega a la página del plugin OAuth2 Basic.
- Completa la siguiente información de acuerdo a la aplicación de terceros de Logto que acabas de crear:
- Nombre: Nombre de tu conector que se mostrará en la página de inicio de sesión
- ID de Cliente: El "ID de App" de la página de detalles de la aplicación.
- Secreto de Cliente: El "Secreto de App" de la sección "Endpoints & Credenciales" de la página de detalles.
- URL de Autorización: El "Endpoint de Autorización" de la sección "Endpoints & Credenciales" de la página de detalles.
- URL de Token: El "Endpoint de Token" de la sección "Endpoints & Credenciales" de la página de detalles.
- URL JSON del Usuario: El "Endpoint de Userinfo" de la sección "Endpoints & Credenciales" de la página de detalles.
- Ruta JSON del ID del Usuario:
sub
. - Ruta JSON del Nombre para Mostrar del Usuario:
name
. - Ruta JSON del Nombre de Usuario del Usuario:
username
. - Ruta JSON del Correo Electrónico del Usuario:
email
. - Ruta JSON del Avatar del Usuario:
picture
. - Ruta JSON del Correo Electrónico Verificado del Usuario:
email_verified
. - Alcances:
openid,profile,email
.
- Guarda la configuración del plugin en Apache Answer.
Nota: Asegúrate de incluir el alcance openid
, que es requerido por el estándar OIDC para obtener información del usuario de la URL JSON del Usuario. Dado que la aplicación de terceros de Logto está implementada basada en OIDC, mientras que el plugin de Apache Answer utiliza OAuth 2.0, este alcance es esencial para asegurar un flujo de autenticación adecuado entre los dos sistemas.
Punto de control: Prueba la integración
Con ambos Logto y Apache Answer configurados, veamos la experiencia del usuario sin problemas:
- Visita tu Apache Answer, verás que hay un botón "Conectar con Logto" en la página de inicio de sesión.
-
Haz clic en el botón, serás redirigido a la página de inicio de sesión de Logto.
-
Después de hacer clic en el botón "Conectar con Logto", serás redirigido a Logto donde puedes iniciar sesión con tu cuenta existente. Luego verás una página de consentimiento pidiendo permiso para compartir tu información con Apache Answer.
- Después de aprobar el permiso, serás redirigido de vuelta a Apache Answer, ¡y verás que has iniciado sesión!
Nota: Apache Answer verifica si el usuario que ha iniciado sesión tiene un correo electrónico verificado. Cuando tu usuario no tiene información de correo electrónico, Apache Answer les pedirá que proporcionen un correo electrónico para la verificación.
Beneficios de la integración resumidos
¿Por qué pasar por estos pasos? Las ventajas son significativas:
- Experiencia del Usuario: Este es el beneficio más obvio. Los usuarios no necesitan crear o recordar otro conjunto de credenciales. Usan el inicio de sesión en el que ya confían, proporcionando una entrada suave y sin fricciones a la comunidad. Esto disminuye drásticamente la barrera para la participación.
- Eficiencia de Desarrollo: Completamente evitas la necesidad de construir y mantener flujos separados de autenticación de usuarios, registro, restablecimiento de contraseña, etc., dentro de Apache Answer. Aprovechas instantáneamente tu base de usuarios de Logto existente, permitiéndote lanzar la comunidad mucho más rápido.
- Seguridad: La autenticación se delega a Logto, tu proveedor especializado de IAM, que probablemente maneja aspectos de seguridad como la autenticación multifactor (MFA), políticas de contraseñas y protección contra fuerza bruta de manera más robusta que una implementación personalizada dentro de Answer podría. Confías en el estándar OIDC maduro y bien probado.
- Valor del Producto y Eficiencia de Soporte: Agregas instantáneamente una valiosa función comunitaria sin fragmentar la identidad de usuario. Como se destacó anteriormente, saber que el usuario de la comunidad es el mismo que el usuario del producto empodera a tu equipo de soporte para proporcionar ayuda mucho más contextual y eficiente, aumentando la satisfacción e interacción del usuario.
Conclusión
Integrar herramientas de terceros es esencial para construir un ecosistema de aplicaciones rico, pero manejar identidades de usuario a través de estas herramientas puede ser un gran dolor de cabeza. Como hemos demostrado con Apache Answer, la función de aplicación de terceros (OIDC) de Logto proporciona una forma poderosa y estandarizada de cerrar esta brecha.
Al configurar Logto como el Proveedor de Identidad central para Apache Answer, puedes efectivamente habilitar con "un solo clic" un espacio comunitario dedicado para tus usuarios existentes, ofreciéndoles una experiencia de inicio de sesión sin problemas y brindándole a tu equipo los beneficios de una identidad de usuario unificada.
Lo que es aún más emocionante es que este patrón no se limita a plataformas de preguntas y respuestas; se puede aplicar a paneles de análisis, herramientas de gestión de proyectos, utilidades internas y muchas otras aplicaciones, permitiéndote construir un ecosistema de software cohesivo y fácil de usar.
¡Mantente atento para futuros artículos donde podríamos explorar la integración de otras herramientas útiles usando Logto!