मैं एक वेबपैप लिख रहा हूं जहां उपयोगकर्ताओं को फेसबुक के साथ लॉगिन करने की आवश्यकता होगी (एक फेसबुक रहित लॉगिन ऐप के संदर्भ में समझ में नहीं आता है)। आदर्श रूप से, अपनी प्रारंभिक यात्रा के बाद, जब कोई उपयोगकर्ता /index
पर जाता है, तो मेरा वेबैप पहले से जमा की गई कुकी को देखता है, और सहजता से उपयोगकर्ता को लॉग इन करता है और एप्लिकेशन (/app
) पर जाता है।वेबसाइट्स के लिए फेसबुक लॉगिन: उपयोगकर्ता फेसबुक लॉगआउट को संभालने का सर्वोत्तम अभ्यास?
मेरी समस्या तब उत्पन्न होती है जब उपयोगकर्ता फेसबुक से लॉग आउट करता है, और मेरे ऐप पर वापस आ जाता है। चूंकि मेरे डोमेन पर उनकी कुकी अभी भी मौजूद होगी, और उनके oauth_token
अभी भी मान्य होंगे (वे अब 60 दिनों के लिए हैं), मैं अभी भी उपयोगकर्ता को स्वचालित रूप से लॉग इन कर सकता हूं, और ऐप अपेक्षित रूप से काम करेगा।
मेरे लिए, यह सही नहीं लगता है कि ऐप फेसबुक पर साइन इन नहीं होने पर भी उनके फेसबुक खाते से साइन इन रहता है। मैंने स्टैक ओवरफ्लो पर खुद को खेला; यह इस व्यवहार को भी अनुमति देता है। क्या मेरी चिंताओं को गलत स्थान दिया गया है, या यह देखने का एक अनुशंसित तरीका है कि उपयोगकर्ता को फेसबुक पर साइन इन किया गया है जब वे पहले मेरे सर्वर से /index
का अनुरोध करते हैं।
समस्या है, FBJS कुकी मेरे डोमेन पर साफ नहीं है, जब वे फेसबुक से प्रस्थान करें। फेसबुक से साइन आउट करने और मेरे ऐप पर जाने के बाद, मेरा ऐप अभी भी एफबीजेएस कुकी देखता है। मुझे नहीं पता कि वे वास्तव में साइन इन नहीं हैं जब तक कि मैं जावास्क्रिप्ट लोड नहीं करता। यह एक अतिरिक्त रीडायरेक्ट जोड़ता है यदि वे * लॉग इन हैं, क्योंकि उन्हें अपना/लॉगिन पेज लोड करना होगा, जहां जेएस को पता चला है कि वे पहले ही लॉग इन हैं, और उन्हें रीडायरेक्ट करते हैं/ऐप –
जिस तरह से मैं इसे देखता हूं, हर बार आपका ऐप लॉग इन उपयोगकर्ता की तरफ से कुछ भी कर रहा है, आपको यह जांचने की ज़रूरत है कि उपयोगकर्ता वास्तव में उस बिंदु पर लॉग इन है या नहीं। जो भी कुकी आपके उपयोगकर्ता को फेसबुक उपयोगकर्ता लॉगिंग स्थिति याद रखने के लिए सेट करती है, आपको उस पर भरोसा नहीं करना चाहिए, या आपको इसे फेसबुक की स्थिति के साथ समन्वयित रखना चाहिए। –
उदाहरण के लिए, आप अपने ऐप को फेसबुक पर पोस्ट करने से पहले हर बार FB.getLoginStatus फ़ंक्शन का आह्वान कर सकते हैं। यह निश्चित रूप से ऐसा करने का अनुकूलित तरीका नहीं हो सकता है। –