He intentado demasiadas variaciones para enumerarlas aquí, pero el punto básico es que no puedo iniciar sesión al usuario inmediatamente después del registro a través de los Servicios. He intentado una instalación nueva de Drupal 7.33 con solo los Servicios 7.x.3.11 habilitados y la configuración de recursos predeterminada proporcionada por drupalgap 7.x.1.9
Cuando me registro con la interfaz de Drupal, se crea el usuario, se abre la sesión y aterrizo en mi página de perfil iniciada sesión.
vs.
Cuando llamo al punto final de Servicios /services/user/register.json
, Drupal crea la cuenta pero la sesión no persiste. Vea mis capturas de pantalla a continuación.
¿Cómo puedo A. hacer que la sesión persista para las siguientes llamadas de recursos del Servicio O B. enganchar para agregar la contraseña del usuario o autogenerada nuevamente en la respuesta json para que pueda volver a enviar mediante programación el formulario /login.json del lado del cliente (que persiste)?
Esta pregunta, ¿cómo podría ser diferente el usuario global $ entre la interfaz de Drupal y el módulo de Servicios? describe mi mismo problema usando LoginToboggan.
En mi captura de pantalla, verá una línea de depuración llamada "depuración de inicio de sesión". Proviene de la línea 333 de "/sites/all/modules/logintoboggan/logintoboggan.module" donde probé todo esto en vano ...
function logintoboggan_process_login($account, &$edit, $redirect = array()){
global $user;
$user = user_load($account->uid);
//watchdog('login debug', json_encode($account));
watchdog('login debug', json_encode($edit));
//user_login_submit(array(), array('uid' => $account->uid));
user_login_finalize($edit);
// $user = user_load($account->uid);
// $user->token = drupal_get_token('services'); // WE HAVE A TOKEN ALTHOUGH I DOUBT THIS WOULD WORK IN TERMS OF SESSION PERSISTANCE
// user_login_finalize($edit);
// module_invoke_all('hook_user_login');
// module_invoke_all('tripchi_user_login');
// module_invoke_all('logintoboggan_user_login');