Ich habe viel zu viele Variationen ausprobiert, um sie hier aufzulisten, aber der grundlegende Punkt ist, dass ich den Benutzer nicht sofort nach der Registrierung über Services anmelden kann. Ich habe versucht, Drupal 7.33 neu zu installieren, wobei nur Services 7.x.3.11 aktiviert und die Standardressourceneinstellungen von drupalgap 7.x.1.9 bereitgestellt wurden
Wenn ich mich über die Drupal-Oberfläche registriere, wird der Benutzer erstellt, die Sitzung geöffnet und ich lande auf meiner angemeldeten Profilseite.
vs.
Wenn ich den Service-Endpunkt /services/user/register.json
aufrufe, erstellt Drupal das Konto, aber die Sitzung bleibt nicht bestehen. Siehe meine Screenshots unten.
Wie kann ich entweder A. die Sitzung für nachfolgende Serviceressourcenaufrufe fortsetzen lassen oder B. Hook, um das oder das automatisch generierte Kennwort des Benutzers wieder in die json-Antwort einzufügen, damit ich das Formular /login.json clientseitig programmgesteuert erneut senden kann (welches bleibt bestehen)?
Diese Frage: Wie kann sich der globale $ user zwischen der Drupal-Schnittstelle und dem Services-Modul unterscheiden? beschreibt mein gleiches Problem mit LoginToboggan.
In meinem Screenshot sehen Sie eine Debug-Zeile namens "Login Debug". Es kommt aus Zeile 333 von "/sites/all/modules/logintoboggan/logintoboggan.module", wo ich all dies ohne Erfolg versucht habe ...
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');