Ho provato troppe varianti per elencarle qui, ma il punto di base è che non riesco a far accedere l'utente immediatamente dopo la registrazione tramite Servizi. Ho provato una nuova installazione di Drupal 7.33 con solo i Servizi 7.x.3.11 abilitati e le impostazioni delle risorse predefinite fornite da drupalgap 7.x.1.9
Quando mi registro utilizzando l'interfaccia Drupal, l'utente viene creato, la sessione viene aperta e arrivo sulla pagina del mio profilo.
vs.
Quando chiamo l'endpoint Servizi /services/user/register.json
, Drupal crea l'account ma la sessione non persiste. Vedi i miei screenshot qui sotto.
Come posso A. ottenere la persistenza della sessione per le successive chiamate alle risorse del servizio OPPURE B. hook per aggiungere la password dell'utente o generata automaticamente nella risposta json in modo da poter inviare nuovamente a livello di codice il modulo /login.json lato client (che persiste)?
Questa domanda come potrebbe l'utente $ globale essere diverso tra l'interfaccia Drupal e il modulo Servizi? descrive il mio stesso problema usando LoginToboggan.
Nel mio screenshot vedrai una linea di debug chiamata "login debug". Viene dalla riga 333 di "/sites/all/modules/logintoboggan/logintoboggan.module" dove ho provato tutto questo senza risultati ...
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');