मैंने यहां सूचीबद्ध करने के लिए बहुत अधिक भिन्नताएं आजमाई हैं, लेकिन मूल बिंदु यह है कि मैं सेवाओं के माध्यम से पंजीकरण के तुरंत बाद उपयोगकर्ता को लॉग इन नहीं कर सकता। मैंने एक नया Drupal 7.33 स्थापित करने का प्रयास किया है जिसमें केवल सेवाएँ 7.x.3.11 सक्षम हैं और ड्रुपलगैप 7.x.1.9 द्वारा प्रदान की गई डिफ़ॉल्ट संसाधन सेटिंग्स
जब मैं Drupal इंटरफ़ेस का उपयोग करके पंजीकरण करता हूं, तो उपयोगकर्ता बनाया जाता है, सत्र खोला जाता है, और मैं अपने प्रोफ़ाइल पृष्ठ पर लॉग इन करता हूं।
बनाम
जब मैं सेवा समाप्ति बिंदु कहता हूं /services/user/register.json
, तो Drupal खाता बनाता है लेकिन सत्र जारी नहीं रहता है। नीचे मेरे स्क्रीनशॉट देखें।
मैं या तो ए को सत्र सेवा संसाधन कॉल के लिए बने रहने के लिए सत्र प्राप्त कर सकता हूं या उपयोगकर्ता के ऑटो-जनरेट किए गए पासवर्ड को वापस जॉन्स रिस्पांस में जोड़ने के लिए बी हुक दे सकता हूं ताकि मैं प्रोग्राम / क्लाइंट / साइड फॉर्म को पुनः सबमिट कर सकूं। बनी रहती है)?
यह सवाल कि Drupal इंटरफ़ेस और सेवा मॉड्यूल के बीच वैश्विक $ उपयोगकर्ता कैसे भिन्न हो सकते हैं? LoginToboggan का उपयोग करके मेरी इसी समस्या का वर्णन करता है।
मेरे स्क्रीनशॉट में आपको "लॉगिन डीबग" नामक एक डिबग लाइन दिखाई देगी। यह 333 की पंक्ति से आता है "/sites/all/modules/logintoboggan/logintoboggan.module" जहाँ मैंने बिना किसी लाभ के यह सब करने की कोशिश की है ...
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');