Saya telah mencoba terlalu banyak variasi untuk dicantumkan di sini, tetapi intinya adalah saya tidak bisa mendapatkan pengguna login segera setelah pendaftaran melalui Layanan. Saya telah mencoba instalasi Drupal 7.33 yang baru dengan hanya mengaktifkan Layanan 7.x.3.11 dan pengaturan sumber daya standar yang disediakan oleh drupalgap 7.x.1.9
Ketika saya mendaftar menggunakan antarmuka Drupal, pengguna dibuat, sesi dibuka, dan saya mendarat di halaman profil saya login.
vs.
Ketika saya menelepon titik akhir Layanan /services/user/register.json
, Drupal membuat akun tetapi sesi tidak berlanjut. Lihat tangkapan layar saya di bawah ini.
Bagaimana saya bisa A. mendapatkan sesi untuk bertahan untuk panggilan sumber daya Layanan berikutnya ATAU B. kait untuk menambahkan kata sandi pengguna atau yang dihasilkan secara otomatis kembali ke respons json sehingga saya secara program dapat mengirimkan kembali bentuk klien sisi /login.json (yang tidak bertahan)?
Pertanyaan ini, bagaimana mungkin pengguna global $ berbeda antara antarmuka Drupal dan modul Layanan? menjelaskan masalah saya yang sama menggunakan LoginToboggan.
Di tangkapan layar saya, Anda akan melihat baris debug yang disebut "login debug". Itu berasal dari baris 333 dari "/sites/all/modules/logintoboggan/logintoboggan.module" di mana saya sudah mencoba semua ini tetapi tidak berhasil ...
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');