Próbowałem o wiele za dużo odmian, aby wymienić tutaj, ale podstawową kwestią jest to, że nie mogę się zalogować do użytkownika natychmiast po rejestracji za pośrednictwem usług. Próbowałem świeżej instalacji Drupal 7.33 z włączonymi tylko usługami 7.x.3.11 i domyślnymi ustawieniami zasobów dostarczonymi przez drupalgap 7.x.1.9
Kiedy rejestruję się za pomocą interfejsu Drupal, użytkownik zostaje utworzony, sesja otwarta, i ląduję na mojej stronie profilu zalogowanej.
vs.
Kiedy nazywam punkt końcowy usług /services/user/register.json
, Drupal tworzy konto, ale sesja nie trwa. Zobacz moje zrzuty ekranu poniżej.
Jak mogę A. doprowadzić do utrwalenia sesji dla kolejnych wywołań zasobów usługi LUB B. przechwycić, aby dodać hasło użytkownika lub automatycznie wygenerowane hasło z powrotem do odpowiedzi json, aby móc programowo ponownie przesłać plik /login.json po stronie klienta (który trwa)?
To pytanie, w jaki sposób globalny użytkownik $ może się różnić między interfejsem Drupal a modułem usług? opisuje mój ten sam problem za pomocą LoginToboggan.
Na moim zrzucie ekranu zobaczysz linię debugowania o nazwie „debugowanie logowania”. Pochodzi z wiersza 333 „/sites/all/modules/logintoboggan/logintoboggan.module”, gdzie próbowałem tego wszystkiego bezskutecznie ...
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');