La mejor solución para el sistema de gestión de usuarios centralizado para múltiples sistemas

4 minutos de lectura

Actualmente, estamos ejecutando 2 páginas web basadas en WordPress, una aplicación personalizada creada en JS (Hapi, Angular, Mongo), así como un repositorio GitLab autohospedado y alojamiento basado en ISP Config. Actualmente, el usuario que desea utilizar más de 1 servicio se ve obligado a crear varias cuentas.

¿Cuál sería el mejor enfoque para centralizarlo suponiendo que queremos:

  • un usuario para usar las mismas credenciales en cada página
  • permitir que un usuario inicie sesión utilizando el inicio de sesión social (Facebook, Google, Twitter) y aún así mantener su perfil único
  • centralizar la información sobre los servicios de los usuarios, el uso y la información de facturación (facturas)

No queremos complicar demasiado la solución, por lo tanto, no queremos centralizar la administración de acceso y obtenerlos de un servidor centralizado, cada página/servicio se mantendrá por sí mismo (es decir, cuando el usuario realiza una compra en uno de los sitios de WP ( woocommerce) wordpress mantendrá el orden y escribiremos un código personalizado para informar la venta al sistema centralizado con fines de facturación)

Actualmente estamos considerando usar LDAP o Kerberos, ¿qué sería mejor?

En segundo lugar, ¿cómo cubrir parte del inicio de sesión social? Supongo que aún deberíamos permitir el registro de usuarios usando OAuth2 y de alguna manera sincronizar los datos entre cada servicio y el sistema centralizado. ¿Hay otra manera?

  • Una idea de cómo resolver esto es configurar una Api en ambas aplicaciones. Entonces, cuando un usuario inicia sesión en la aplicación 1, primero busca si el usuario existe en la base de datos de la aplicación 1. De lo contrario, verifica si el usuario existe en app2. Si el usuario existe en la aplicación 2, envía toda la información de ese usuario a la aplicación 1 y crea un “nuevo usuario” en la aplicación 1. No sé si esa será la mejor solución para ti, pero es una idea.

    – zarex360

    11 de enero de 2018 a las 7:59


  • Ver este para la comparación entre LDAP y Kerberos.

    –Pascal Martineau

    12 de febrero de 2018 a las 12:35

avatar de usuario
Juan Dee

Tus deseos [correct me if I’m wrong]:

  • Tienes dos aplicaciones que son esencialmente cosas separadas.
  • Estas aplicaciones se pueden servir desde una página web a través de HTTP y no tienen un sistema de autenticación o necesitan una renovación.
  • Desea un sistema de inicio de sesión centralizado con autenticación social.
  • Tiene una sola entidad comercial.
  • Desea una única fuente de datos combinada para el comercio electrónico.
  • Básicamente, está configurando esto desde cero en el backend de WordPress, no hay un ecosistema mixto actual de usuarios.

Mis pensamientos:
NO desea LDAP o Kerberos. Esas soluciones son demasiado complejas para esta situación. Quieres una SOLA instalación de WordPress. Puede configurar fácilmente el backend para responder a múltiples dominios. En otras palabras, una sola instalación de wordpress puede manejar páginas en “dominio1.com” y “dominio2.com” y mostrar las páginas con encabezados y texto completamente diferentes para que PARECEN como dos sitios. No hay razón para mantener dos listas separadas de usuarios, porque desea iniciar sesión en un solo sistema. Diferencie a los usuarios en función de sus datos comerciales, es decir, el usuario 1 tiene datos “registrados en el Sitio A”, el usuario 2 tiene datos “registrados en el Sitio B”, etc.

Puede colocar su aplicación en una página de WordPress y luego usar is_user_logged_in() para protegerla detrás de WordPress. Este es un método de autenticación estándar de la industria y extremadamente seguro si se configura correctamente. O si se trata de una API de datos, puede colocarla como punto final y aprovechar exactamente el mismo sistema de autenticación.

Cualquiera de los principales complementos de autenticación social que son populares en el repositorio .org gratuito debería funcionar con este método.

Si va a asociar blogs, es decir, muchas “publicaciones” sobre los productos, y desea que esos blogs sean ecosistemas diferentes, con diferentes conjuntos de usuarios, está buscando WordPress Multi-Site. No creo que esto sea lo que quieres. No suenas como si fueras a “blogear”. O al menos cada página se seleccionará meticulosamente en estos sitios combinados. Por lo tanto, probablemente esté buscando una única instalación para servir contenido a dos dominios. NO MULTISITIO.

Debe usar WooCommerce, simplemente porque es la plataforma más compatible. La instalación es 100% gratuita.

Puede servir fácilmente páginas que tienen una marca totalmente diferente, incluso en una sola instalación. Por ejemplo, un sitio de WordPress puede servir páginas a dos dominios y colocar diferentes logotipos y encabezados en la parte superior de la página para que se vean diferentes. Una máquina física puede servir a dos dominios.

En pocas palabras: desea una configuración única de WordPress en una sola máquina, que sirva a dos dominios. El contenido y la apariencia de los dominios pueden ser diferentes a voluntad. Use cualquier complemento de autenticación social popular en el repositorio .org para proteger las aplicaciones.

¿Ha sido útil esta solución?