2013-08-13 7 views
12

मैं एक Django ऐप लिख रहा हूं जो फेसबुक एकीकरण के लिए django-allauth का उपयोग करता है, और आईओएस ऐप के लिए बैकएंड के लिए django-tastypie का उपयोग करता है। आईओएस ऐप मूल फेसबुक आईओएस एसडीके का उपयोग करेगा। मैं वेबसाइट के अलावा, आईओएस ऐप से फेसबुक और गैर-फेसबुक उपयोगकर्ताओं को साइन अप करने और सत्यापित करने में सक्षम होना चाहता हूं।tastypie के साथ django-allauth का उपयोग करने का सही तरीका क्या है?

समस्या यह है कि django-allauth में एक एपीआई प्रतीत नहीं होती है जिसे बाहरी रूप से एक्सेस किया जा सकता है। Allauth की कार्यक्षमता के लिए प्लगइन करने का एकमात्र साफ तरीका Django टेम्पलेट टैग के माध्यम से लगता है। क्या इस तरह की कार्यक्षमता का खुलासा करने के लिए मैं इस तरह की कार्यक्षमता का पर्दाफाश कर सकता हूं?

Django-allauth सभी खुले स्रोत हैं, इसलिए मैंने कोड के माध्यम से विश्लेषण करने की कोशिश की है। मेरा प्रारंभिक विचार मूल फेसबुक एसडीके का उपयोग करके आईओएस पक्ष पर उपयोगकर्ताओं को प्रमाणीकृत करना है, और उसके बाद मैन्युअल रूप से सोशलएक्वाउंट, सोशलटेकन के लिए जानकारी भरें, और सोशलएक्वाउंट को सोशल ऐप में जोड़ें (वे सभी django-allauth मॉडल हैं)। हालांकि, यह काफी हैकी समाधान लगता है। मुझे उन सभी मॉडलों को स्पष्ट रूप से बनाने के लिए एक तरीका चाहिए जो एक फेसबुक आईडी, या कुछ समान है।

अद्यतन: हुई है कुछ discussionGitHub पर इस समस्या के विषय में। असल में, अभी तक कोई अंतर्निहित कार्यक्षमता नहीं है। मैं एक कस्टम समाधान को चाबुक करने जा रहा हूं जो केवल फेसबुक से संबंधित है (क्योंकि मैं अपने आवेदन में उपयोग कर रहा हूं)। यदि मैं काम करता हूं तो मैं बाद में जो कुछ भी करता हूं वह पोस्ट करूंगा।

उत्तर

0

मैंने फेसबुक एपीआई से निपटने के लिए requests लाइब्रेरी का उपयोग किया और यह बहुत अच्छा काम करता है, मुझे लगता है कि Django के लिए कोई सामाजिक लॉगिन प्लगइन दूसरों के लिए काम नहीं करता है लेकिन लेखक, अगर आप गंभीरता से कुछ करना चाहते हैं।

पीएस। मैंने मोबाइल ऐप के लिए बाकी बैकएंड बनाने के लिए डीजेंगो-रेस्ट-फ्रेमवर्क का इस्तेमाल किया, जिसमें स्थानीय खाता लॉगिन और सोशल साइट लॉगिन भी शामिल था।

1

django-allauth में त्वरित रूप से पता चलता है कि वे प्रमाणीकरण और सामाजिक खाते के प्रकार की विशिष्ट विधि पर डेटा रखने के लिए सोशलएक्टाउंट मॉडल का उपयोग कर रहे हैं।

आपको SocialAccount मॉडल के आधार पर एक एपीआई एंडपॉइंट बनाने की आवश्यकता है। आपको वहां चर जैसे पास करना होगा: खाता प्रकार (फेसबुक, स्थानीय, ट्विटर इत्यादि), सामाजिक लेख प्रदाताओं द्वारा आवश्यक अतिरिक्त लेख चर। फिर, अपने कोड में आप सोशलएक्वाउंट मॉडल उदाहरण बना सकते हैं, एपीआई एंडपॉइंट कॉल से प्राप्त डेटा के साथ फ़ीड कर सकते हैं और django-allauth के माध्यम से इसी ऑथ कॉल को ट्रिगर कर सकते हैं। अंत में आपको अपने ऑथ कॉल का परिणाम वापस करना चाहिए।

मुझे स्थानीय/फेसबुक ऑथ के लिए django-allauth का उपयोग करने का एक बड़ा कारण नहीं दिखता है, कुछ छोटे प्रयासों के साथ आप सामाजिक लेख प्रदाताओं की पूरी श्रृंखला प्राप्त कर सकते हैं।

संबंधित मुद्दे

 संबंधित मुद्दे