2012-02-27 23 views
6

मैं एक साइट है कि Django-सामाजिक प्रमाणीकरण का उपयोग करDjango बाकी फेसबुक प्रमाणीकरण

अब मैं भी एक गैर कुकी-आधारित एपीआई का उपयोग कर प्रमाणित करने के लिए की जरूरत है फेसबुक प्रमाणीकरण की अनुमति देता है। मेरा विचार एक पोस्ट सत्र के रूप में "sessionid =" को शामिल करना है (यह HTTPS का उपयोग करेगा)। अब तक मैं "मूर्ख" Django इस sessionid तक पहुँचने के लिए करने में कामयाब रहे, जैसे कि वह एक कुकी थे (मैं मूल रूप से Request.Cookies की तरह कुछ करना [ 'sessionid'] = request.POST एक मिडलवेयर में [ 'sessionid'])।

मेरी समस्या यह है कि प्रमाणीकृत होने के बाद उपयोगकर्ता को सत्रिक कैसे देना है। जो मुझे पता चल सकता है, फेसबुक उपयोगकर्ता को "एक्सेस टोकन" देता है जिसे तब/पूर्ण/फेसबुक/पर भेजा जाता है, जिसे डीजेंगो-सोशल-ऑथ द्वारा संसाधित किया जाता है और "सत्र-कुकी" शीर्षलेख "सत्र" "कुंजी। लेकिन इसके बजाय, मुझे पेज सामग्री में जेसन के रूप में सत्र की कुंजी वापस करने की आवश्यकता होगी (एपीआई क्लाइंट http प्रतिक्रिया शीर्षलेख नहीं पढ़ सकता)।

उत्तर

1

एक चुनौती की तरह लगता है। लेकिन शायद आप एक सेव सिग्नल का उपयोग कर सकते हैं जो आवश्यक JSON के साथ एक धूमकेतु घटना को निकालता है। शुरुआती बिंदु के रूप में django-social-auth दस्तावेज़ का पुराना संस्करण सिग्नल का उल्लेख करता है।

https://django-social-auth.readthedocs.org/en/v0.7.1/signals.html

हालांकि एक बेहतर दृष्टिकोण Django-सामाजिक लेखन सब एक साथ छोड़ सकते हैं और एक अजगर सामाजिक प्रमाणन के लिए जाने के लिए हो सकता है। प्रलेखन itselfs का कहना है: "नोट: इस पुस्तकालय अजगर-सामाजिक लेखन के पक्ष में पदावनत है।"

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