J'ai essayé beaucoup trop de variantes pour les énumérer ici, mais le point de base est que je ne peux pas connecter l'utilisateur immédiatement après son inscription via les services. J'ai essayé une nouvelle installation de Drupal 7.33 avec uniquement les services 7.x.3.11 activés et les paramètres de ressources par défaut fournis par drupalgap 7.x.1.9
Lorsque je m'inscris en utilisant l'interface Drupal, l'utilisateur est créé, la session ouverte et j'atterris sur ma page de profil connectée.
contre.
Lorsque j'appelle le point de terminaison Services /services/user/register.json
, Drupal crée le compte mais la session ne persiste pas. Voir mes captures d'écran ci-dessous.
Comment puis-je A. faire en sorte que la session persiste pour les appels de ressources de service ultérieurs OU B. hook pour ajouter le mot de passe de l'utilisateur ou généré automatiquement dans la réponse json afin que je puisse resoumettre par programme le côté client du formulaire /login.json (qui persiste)?
Cette question comment l'utilisateur global $ pourrait-il être différent entre l'interface Drupal et le module Services? décrit mon même problème en utilisant LoginToboggan.
Dans ma capture d'écran, vous verrez une ligne de débogage appelée "debug de connexion". Il vient de la ligne 333 de "/sites/all/modules/logintoboggan/logintoboggan.module" où j'ai essayé tout cela en vain ...
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');