2012-08-14 7 views
7

लक्ष्य:लॉग इन दूर से Drupal सेवाओं का उपयोग कर 7 साइट मॉड्यूल के लिए

मैं अपने वेब एप्लिकेशन Drupal साइट के लिए, मेरे Drupal साइट पर उपयोगकर्ता नाम और एक उपयोगकर्ता का पासवर्ड भेजने के लिए सक्षम होना चाहते हैं और Drupal साइट है उपयोगकर्ता प्रमाणीकरण जानकारी सही है या नहीं, इसकी पुष्टि के साथ प्रतिक्रिया दें।

एक और की जरूरत Drupal सर्वर बनाया एक सत्र के लिए एक सत्र id लौटने के लिए, और उपयोगकर्ता के लिए जानकारी, ईमेल, उपयोगकर्ता भूमिका, आदि जैसे है

क्या मैं अब तक है:

मैंने सेवा शेष सर्वर को सक्षम किया है, और www.mysite.com/rest/ पर एक एंडपॉइंट बनाया है। मैंने केवल जेसन को प्रतिक्रिया प्रारूप सेट किया है, और पार्सर को एप्लिकेशन/एक्स-www-form-urlencoded के लिए अनुरोध करें। मैंने सत्र, डिबगिंग मोड द्वारा प्रमाणीकरण चालू कर दिया है। मैंने इस एंडपॉइंट के लिए पूरे उपयोगकर्ता संसाधन को सक्षम करने के लिए भी सुनिश्चित किया है। Www.mysite.com/rest/user पर नेविगेट करने से मुझे सभी उपयोगकर्ताओं की एक सूची मिलती है।

प्रमाणीकरण के साथ मेरी प्रयास के बारे में, मैं अनुरोध भेजने की कोशिश की है:

POST www.mysite.com/rest/user/login 
    Content-Type: application/x-www-form-urlencoded 
    POST Body: 
     name:admin, 
     pass:myadminpassword 

लेकिन यह सिर्फ एक 401 अनधिकृत प्रतिसाद लौटने रहता है। मैंने दो बार चेक किया है और ऑथ जानकारी सही है। मैंने पैरामीटर नामों पर अन्य विविधताओं की कोशिश की है: (उपयोगकर्ता नाम, पासवर्ड), (उपयोगकर्ता, पास), (नाम, पासवर्ड), आदि

मुझे काम करने के लिए लॉगिन नहीं मिल रहा है और मेरे पास है मैंने स्टैकओवरफ्लो पर पाए गए अन्य उदाहरणों को देखा लेकिन उन्होंने काम नहीं किया है।

+2

शरीर हो नहीं करना चाहिए: "उपयोगकर्ता नाम = व्यवस्थापक और पासवर्ड = adminpass" अगर आप "x-www-form-urlencoded" का उपयोग कर रहे हैं? –

+1

aaaaaaaand निश्चित रूप से यह इतना आसान था। मैं भूल गया कि पोस्ट पैरामीटर और जीईटी पैरामीटर एक ही तरीके से प्रारूपित हैं। धन्यवाद। – user594044

+0

आप जेसन (या सेवा मॉड्यूल द्वारा समर्थित किसी भी अन्य प्रारूप) में भी पोस्ट कर सकते हैं। बस अपनी सेवा संसाधन कॉन्फ़िगरेशन के "सर्वर" टैब पर चेकबॉक्स पर क्लिक करें और अपने पोस्ट के बॉडी को एक जेसन ऑब्जेक्ट से भरें। –

उत्तर

4

drupal.org में सेवा मॉड्यूल के लिए अच्छा प्रलेखन है।

curl -X POST -i -H "Content-type: application/json" -c cookies.txt -X POST http://localhost:8888/service/user/login -d ' 
{ 
    "username":"user", 
    "password":"password" 
} 
' 

तो:

http://drupal.org/node/1795770

और प्रवेश के लिए एक उदाहरण: http://drupal.org/node/783722

इस पृष्ठ पर उदाहरण कमांड लाइन टूल कर्ल उपयोग कर रहा है: Particulary यहाँ servicers प्रयोग करने के लिए कई उदाहरण दिए गए हैं

  • आपके पास अपना एंडपॉइंट ठीक है
  • सामग्री-प्रकार ऐप होना चाहिए lication/json
  • और शरीर {: "व्यवस्थापक", "पासवर्ड": "उपयोगकर्ता नाम" "पास"} की तरह कुछ होना चाहिए
संबंधित मुद्दे