मैं एक छोटे मल्टीप्लेयर गेम पर काम कर रहा हूं। मैं प्रमाणीकरण शुरू करना चाहता हूं। मैं Node.js और Socket.io का उपयोग कर रहा हूँ।socket.io प्रमाणीकरण
जब उपयोगकर्ता मुख्य पृष्ठ आता है - मैं चाहता हूं कि वे इस गेम में शामिल हों कि वे लॉग इन हैं या नहीं - लेकिन वे इसके भीतर कुछ भी करने में असमर्थ होंगे (केवल देखें)।
मैं पहले से ही खुले सॉकेट पर उपयोगकर्ता को प्रमाणित करने के बारे में कैसे जा सकता हूं?
क्या मैं साइट छोड़कर वापस आ गया और फिर भी प्रमाणीकरण बनाए रख सकता हूं? क्या आप एक वेब सॉकेट के माध्यम से एक कुकी पास कर सकते हैं?
संपादित
मेरे सवाल का आगे करने के लिए। मेरे पास संभावित विचारों में से एक है वेबस्केट कनेक्शन प्रदान करना, फिर जब वे लॉगिन करने का प्रयास करते हैं, तो यह वेबसाईट पर एक संदेश के रूप में उपयोगकर्ता नाम और पासवर्ड पास करता है।
client.on('onLogin', loginfunction);
मैं तो, उपयोगकर्ता नाम और पासवर्ड ले सकता है, डेटाबेस के खिलाफ जांच तो सॉकेट का सत्र आईडी लेने के लिए और इसे कहीं से पारित कहना है कि सत्र है कि उपयोगकर्ता के लिए प्रमाणीकृत है।
क्या यह सुरक्षित है? क्या मैं अभी भी सॉकेट पर एक कुकी लागू कर सकता हूं ताकि वे वापस आ सकें? Socket.io के भीतर कोई तरीका है यह बताते हुए कि सॉकेट अब प्राप्त प्रत्येक संदेश को मैन्युअल रूप से जांचने के बजाय प्रमाणीकृत है?
चीयर्स
वहाँ एक रास्ता के रूप में socket.io भीतर प्रमाणीकृत के बाद कनेक्शन स्थापित हो जाने और पूर्ण हाथ मिलाना संबंध स्थापित करने की शायद है? मौजूदा कनेक्शन के लिए तैयार होने पर उपयोगकर्ता लॉगिन विवरण की आपूर्ति कर सकता है, सर्वर एक अद्वितीय सत्र आईडी को सत्यापित और वापस कर सकता है। क्लाइंट साइड जावास्क्रिप्ट भविष्य में उपयोग के लिए कुकी को सहेज सकता है। –
सॉकेट.ओ सत्रों को प्रमाणीकृत करने के तरीके पर [इस आलेख] (http://www.danielbaulig.de/socket-ioexpress/) देखें। – fent
हां, मैंने वास्तव में पहले से ही उस लेख को पढ़ा है। जब तक मैं कुकी को सेट करने में काफी खुश हूं, तो सॉकेट पहले से ही खुला होने पर यह उसी पृष्ठ पर लॉग इन करने की अनुमति नहीं देता है। यदि उपयोगकर्ता को कुकीज़ अक्षम कर दी गई है तो यह भी संभवतः पीड़ित है? –