modulos descargar drupal drupal-6 xml-rpc

descargar - en Drupal, ¿cómo hacer que el estado de inicio de sesión sea coherente entre las páginas del navegador y el cliente XMLRPC incorporado?



drupal project (2)

No estoy muy familiarizado con Flash, pero ¿los objetos URLRequest "heredan" el estado de la sesión del navegador, incluidas las cookies de inicio de sesión del usuario? De lo contrario, deberá enviar explícitamente la cookie de inicio de sesión con su solicitud creada a mano o Drupal pensará que proviene de otro navegador web con la misma dirección IP.

Si no está seguro, usar el complemento Firebug podría ser útil. Le permite inspeccionar las solicitudes que se canalizan a través del navegador, examinar sus encabezados y observar el objeto de respuesta HTTP sin procesar que regresa.

Actualización: Aún más importante que el widget flash que obtiene una cookie de sesión es el widget flash que obtiene la MISMA cookie de sesión que el navegador web. Drupal permite a los usuarios iniciar sesión desde varias máquinas simultáneamente, por lo que si el navegador está creando una sesión y el widget flash está creando otra, verás el comportamiento que estás describiendo ...

Tengo un sitio de Drupal con inicios de sesión de usuario. Dentro de este sitio está incluida una aplicación Flash que muestra algunos datos a todo el mundo pero que permite una funcionalidad adicional si el usuario está conectado. Desde Flash, uso XMLRPC para acceder al método system.check (para determinar si el usuario está conectado) y el método user.login (para iniciar sesión en un usuario desde Flash).

Dentro de Flash, todo funciona bien. Sin embargo, el estado de inicio de sesión de Flash no parece corresponderse con el resto del sitio. Por ejemplo, si invoco user.login a través de XMLRPC, las llamadas subsiguientes a system.check muestran que estoy conectado, pero la página de usuario de Drupal todavía dice que estoy desconectado. O si estoy conectado en ambos lugares y luego cierro la sesión a través de la página de usuario de Drupal, la siguiente llamada a system.check todavía indica que estoy conectado.

¿Cómo puedo hacer que el estado de inicio de sesión sea consistente entre la GUI de Drupal y mi aplicación Flash incorporada?

(Nota: no estoy usando ninguna biblioteca XMLRPC, solo estoy construyendo el XML requerido manualmente y enviando métodos POST usando un objeto URLRequest).

EDITAR: He confirmado a través de esta pregunta y también a través de una prueba con un Proxy Web que la cookie de SESS devuelta por la página de inicio de sesión del usuario está siendo recogida y enviada por la aplicación flash.

EDITAR: Y ahora he demostrado de forma experimental que aunque Flash (a través de Safari) está enviando la misma cookie, recibe una cookie DIFERENTE cuando se conecta al servicio XMLRPC que cuando solicita una página HTML. En otras palabras, Drupal simplemente no admite este tipo de sincronización y estoy atascado. Estoy aceptando la respuesta a continuación que me puso en el camino correcto.

EDITAR: AMHPHP no se lanzó completamente para Drupal6 en el momento de escribir esto, pero de todos modos se instaló en el sitio. Utilizando la biblioteca DrupalSite , pude iniciar y cerrar sesión en flash fácilmente desde el sitio, y el inicio de sesión se mantuvo constante entre flash y HTML.


No se puede hacer.

(Para más detalles, consulte mi edición final de la pregunta original y la información equivalente en mi comentario a @Eaton).