it-swarm-es.tech

Inicie sesión en el sitio web de Joomla desde la aplicación móvil

Fondo
Tengo el sitio web de Joomla y la aplicación móvil que se ejecuta en un servidor diferente (programado usando JavaScript). Ambos pertenecen a la misma parte, y los usuarios tienen cuentas similares en ambos con identificaciones y contraseñas idénticas (aunque estas identificaciones y contraseñas se almacenan en diferentes bases de datos, nos aseguramos de que estén sincronizadas e idénticas).

Comportamiento actual
Los usuarios inician sesión en la aplicación (la sesión se crea en el servidor de aplicaciones) y navegan hasta el botón (sitio web). Al tocar el botón, se abre una nueva ventana que muestra (página de inicio de sesión del sitio web). Tienen que insertar sus credenciales una vez más y luego acceder a sus cuentas.

Objetivo
Permitir a los usuarios acceder al sitio web sin tener que volver a acceder a la página de inicio de sesión (se verifican cuando inician sesión en la aplicación, por lo que no es necesario volver a verificar).

Intentos

  • Busqué un complemento adecuado que conecte Joomla a la plataforma de la aplicación (Appery) pero no pude encontrarlo. Muchos complementos de Joomla permiten el inicio de sesión único con Facebook, Google ... etc. Pero no pude encontrar ninguno que pueda Word con la aplicación móvil que existe en un servidor diferente con una base de datos separada

  • La sesión y la cookie se excluyen como ambas en diferentes servidores.

  • También me referí a esto Iniciar sesión en el usuario sin obtener una contraseña de ellos , pero no pude averiguar de qué plugin está hablando el OP.

  • Tengo LDAP configurado y habilitado, sin embargo, todavía no pude hacer que el SSO funcione.

  • Dado que las bases de datos separadas comparten las mismas credenciales de usuario, pensé que podría ser mejor crear un complemento de autenticación para mi sitio web que se autentique en una base de datos de aplicaciones móviles. De esta manera, cuando un usuario inicia sesión en la aplicación móvil, ya tiene una sesión transportable. Sin embargo, nunca he creado ningún complemento antes, y mucho menos un complemento de inicio de sesión ... (¿por dónde empezar?)

  • También recurrí a esta idea ( https://stackoverflow.com/questions/29115209/amend-form-content-on-ajax-request ) pero por las respuestas que obtuve, me pareció irracional .

Busqué en Internet durante bastante tiempo, y publiqué varias preguntas tratando de explorar mi camino a través de esto. Agradecería profundamente su ayuda y apoyo.

Si este no es el lugar adecuado para hacer dicha pregunta, consulte la adecuada.

1
Hawk

Debe implementar un token de larga duración , un secreto compartido entre Joomla y el servidor de aplicaciones móviles. Este token de acceso permite acceder a ambos servidores y se envía en cada llamada a la API.

Siguiendo la práctica del protocolo OAuth), una vez que el usuario se autentica y se emite un token de larga duración a la aplicación móvil. La aplicación puede acceder al servidor mientras el token esté activo. Si caduca, el usuario tiene que volver a autorizar.

En su caso, debe implementar en Joomla una forma (complemento) para autenticar al usuario con el token y ejecutar las operaciones requeridas. Los tokens se comparten entre ambos servidores en una tabla/servicio.

Finalmente, si está interesado en colaborar con Joomla Mobile Apps, acabamos de comenzar un Grupo de trabajo: Equipo de aplicaciones móviles

Descargo de responsabilidad: soy el desarrollador líder de la aplicación Composer para Joocial. En este capítulo de documentación , puede verificar cómo an OAuth el complemento de autenticación funciona.

1
Anibal

Debe crear un complemento del sistema que actúe como api. Joomla tiene la función de iniciar sesión mediante programación. Puede verificar el usuario del complemento existente.

Por supuesto, debe proteger la API con clave secreta compartida entre servidores.

Probablemente tenga que almacenar en el móvil la sesión y agregarla a cada solicitud.

Lo hice para integrar whmcs con joomla. En realidad no recuerdo porque lo hice hace mucho tiempo.

0
Stergios Zg.