हाय, हेब्र!
आज मुझे खाता-लिंक्ड मोबाइल उपकरणों का उपयोग करने वाली साइटों पर वैकल्पिक प्राधिकरण के विचार से दौरा किया गया था।
इसकी आवश्यकता क्यों है?
ठीक है, उदाहरण के लिए, यदि उपयोगकर्ता दो-कारक प्राधिकरण में उपयोग के लिए या तो पासवर्ड रिकवरी के लिए पासवर्ड चलाने के लिए बहुत आलसी है, आदि।
वास्तव में, मैंने उत्पादन में इस तंत्र का उपयोग करने के तरीकों के बारे में नहीं सोचा था। मुख्य लक्ष्य कार्यान्वयन है, और फिर हम देखेंगे।
सिद्धांत की बिट
यह कैसा दिखना चाहिए?
बाइंड और अधिकृत करने के लिए, अपने डिवाइस के साथ संबंधित QR कोड्स को स्कैन करें:
1. बाध्यकारी पृष्ठ पर
2. लॉगिन पेज पर
क्या संलग्न करना है?
थोड़ा सा "गूगल", मुझे दुख के साथ एहसास हुआ कि डिवाइस के बारे में वेब निजी (अद्वितीय) जानकारी से सीखने का कोई तरीका नहीं है। न तो IMEI, न ही सीरियल नंबर, ऐसा कुछ भी नहीं है।
केवल निम्नलिखित अवशेष हैं:
1. लॉन्ग-लाइफ कुकी जो डिवाइस के ब्राउज़र में रहेगी।
2. आईपी पते
3. उपयोगकर्ता एजेंट
दुर्भाग्य से, ऐसे डेटा के साथ, आप अपने खाते में डिवाइस के दीर्घकालिक बंधन पर भरोसा नहीं कर सकते हैं।
बाध्यकारी तंत्र
1. एक लिंक उत्पन्न करें और एक क्यूआर कोड उत्पन्न करें
2. डिवाइस कोड को स्कैन करता है और लिंक का अनुसरण करता है
3. डिवाइस के बारे में सभी प्रकार की जानकारी इकट्ठा करता है और अनुपालन बनाए रखता है (डिवाइस = उपयोगकर्ता)
4. हम डिवाइस पर एक कुकी लटकाते हैं।
5. इस समय, ब्राउज़र विशेष लिंक के लिए "सुनता है" और, जैसे ही एक सकारात्मक प्रतिक्रिया प्राप्त होती है, उपयोगकर्ता को सफल लिंकिंग के बारे में एक संदेश प्रदर्शित करता है।
प्राधिकरण तंत्र
1. एक लिंक उत्पन्न करें और एक क्यूआर कोड उत्पन्न करें
2. डिवाइस कोड को स्कैन करता है और लिंक का अनुसरण करता है
3. हम डिवाइस के बारे में डेटा एकत्र करते हैं और डेटाबेस में इसकी तलाश करते हैं
4. यदि डिवाइस पाया जाता है, तो ब्राउज़र में उपयोगकर्ता के लिए सत्र खोलें
5. इस समय, ब्राउज़र विशेष लिंक के लिए "सुनता है" और जैसे ही एक सकारात्मक प्रतिक्रिया प्राप्त होती है (इस मामले में, कुकी वांछित पृष्ठ पर पुनर्निर्देशित होती है), उपयोगकर्ता लॉग इन करता है।
स्रोत कोड
मैंने पोस्ट में लिस्टिंग नहीं दी है। यदि आप रुचि रखते हैं, तो कृपया
github रिपॉजिटरी पर जाएं।
अंत में, मैं जोड़ना चाहता हूं। मैं तंत्र और संभावित उपयोग के मामलों में सुधार के लिए पर्याप्त प्रतिक्रिया प्राप्त करना चाहूंगा।
कोड की गुणवत्ता के लिए बहुत डांट मत करो, सब कुछ खरोंच से "घुटने पर" लिखा गया था।
PS उपयोगकर्ता एजेंट और IP डिवाइस डेटाबेस में संग्रहीत हैं, लेकिन प्राधिकरण के लिए उपयोग नहीं किए जाते हैं। भविष्य के लिए छोड़ दिया।
UPD : जैसे ही मिनट प्रकट होता है, मैं उन लोगों के लिए स्क्रिप्ट का एक कार्यशील संस्करण पोस्ट करूँगा जो परीक्षण करना चाहते हैं।
UPD2 : अद्यतित भंडार। मैंने उन लोगों के लिए सर्वर पर स्क्रिप्ट पोस्ट की, जो
यहां परीक्षण करना चाहते
हैं