का उपयोग कर फेसबुक कैनवास ऐप में प्रमाणीकरण मैं एक फेसबुक कैनवास एप्लिकेशन बना रहा हूं जो Django के साथ आईफ्रेम में लोड होता है। मैं लॉगिन प्रक्रिया को ज़िंगा के तरीके के समान काम करने के लिए चाहूंगा। इस विधि में, यदि आप लॉग इन नहीं हैं तो आपको फेसबुक लॉगिन पेज पर रीडायरेक्ट किया जाता है और फिर ऐप के लिए अनुमति अनुरोध पृष्ठ पर (बिना किसी पॉपअप के)।न्यू ग्राफ एपीआई
जहां तक मेरा बता सकते हैं जिंगा FBML का उपयोग करना चाहिए और सिर्फ यूआरएल कि तरह देखने के लिए अग्रेषण:
http://www.facebook.com/login.php?api_key=[api_key]&canvas=1&fbconnect=0&next=[return_url]
वहाँ वैसे भी एक अजगर एप्लिकेशन में ऐसा ही प्रभाव प्राप्त करने के लिए है कि एक आईफ्रेम में भार?
एक विधि here पता चलता है कि कैसे नए php SDK का उपयोग सही रीडायरेक्ट प्राप्त करने के लिए नहीं है, लेकिन मैं नए अजगर एसडीके जो एकमात्र तरीका है उपयोग करने के लिए कोशिश कर रहा हूँ:
def get_user_from_cookie(cookies, app_id, app_secret):
"""
Parses the cookie set by the official Facebook JavaScript SDK.
cookies should be a dictionary-like object mapping cookie names to
cookie values.
...
"""
मैं कुछ काम कर रहे है कोड जावास्क्रिप्ट एसडीके और get_user_from_cookie विधि का उपयोग करता है:
<div id="fb-root">
<script src="http://connect.facebook.net/en_US/all.js"></script>
</div>
<script type="text/javascript">
FB.init({ apiKey: 'apikey', status: true, cookie: true, xfbml: true});
FB.Event.subscribe('auth.login', function(response) {
// Reload the application in the logged-in state
window.top.location = 'http://apps.facebook.com/myapp/';
});
</script>
<fb:login-button>Install MyApp</fb:login-button>
इस विधि के साथ समस्या यह है कि यह एक बटन क्लिक करने के लिए लॉग इन करने के लिए और फिर पॉपअप प्रमाणीकरण स्क्रीन के माध्यम से काम उपयोगकर्ता की आवश्यकता है। (नोट: यदि मैं सीधे FB.login को कॉल करता हूं तो एक पॉपअप भी होता है)
तो ... क्या जावास्क्रिप्ट एसडीके का उपयोग पॉपअप के रूप में लोड करने के बजाय लॉगिन पेज पर रीडायरेक्ट करने का कोई तरीका है?
किसी भी मदद के लिए धन्यवाद! - एरिक
आप उन्हें जावास्क्रिप्ट – BeRecursive
@beRecursive में शीर्ष स्थान का उपयोग करके प्राधिकरण पृष्ठ पर रीडायरेक्ट कर सकते हैं: हाँ। यही वही है जो मैं कह रहा हूं। –
क्यों उस पृष्ठ पर रीडायरेक्ट करें जिसमें उस कोड को कोड है जब आप इसे पृष्ठ में इंजेक्ट करते हैं? – BeRecursive