2016-05-20 7 views
19
  • मुझे व्हाट्सएप web-app पर उपयोग किए गए क्यूआर कोड स्कैनिंग के कामकाजी तंत्र से संबंधित कोई भी जवाब नहीं मिला।
  • प्रमाणीकरण तब होता है जब फ़ोन (किसी भी स्मार्टफ़ोन व्हाट्सएप चल रहा है) ब्राउज़र पर qr कोड स्कैन करता है।
  • मैं them.Like whatsapp के पीछे की तकनीक के बारे में ढेर नहीं करना चाहते, erlang का उपयोग करता है, xmpp के संस्करण संशोधित ऐसी कार्यक्षमता को लागू करने के socket.io और ajax वेब संस्करण के लिए की तरह वेब प्रौद्योगिकियों का उपयोग करता है का उपयोग करता है।
  • प्रश्न व्यापक हो सकता है। लेकिन मैं इसके पीछे कार्यान्वयन के बारे में जानना चाहता हूं।

उत्तर

2

यह नीचे जैसा कुछ उपयोग करता है।

  1. वेब ब्राउज़र के माध्यम से उपयोगकर्ता द्वारा व्हाट्सएप वेब एप्लिकेशन खोला जाता है।
  2. सर्वर एक अद्वितीय टोकन (संख्या) बनाता है और उस संख्या को क्यूआर-कोड
  3. व्हाट्सएप फोन एप्लिकेशन क्यूआर-कोड और डीकोड टोकन पढ़ता है।
  4. व्हाट्सएप फोन एप्लिकेशन अपने वर्तमान उपयोगकर्ता और व्हाट्सएप सर्वर पर इस नए पढ़ने के टोकन के बारे में जानकारी भेजता है।
  5. व्हाट्सएप सर्वर वेब ब्राउज़र के साथ टोकन (+ फोन ऐप उपयोगकर्ता जानकारी) से मेल खाता है।
  6. यह स्वचालित रूप से उपयोगकर्ता को प्रमाणित करता है और इसके बारे में अपनी जानकारी के साथ नया वेब पेज खोलता है।

    1- आप अपने ब्राउज़र पर निम्न URL खोलने: https://web.whatsapp.com/

    2- ब्राउज़र जे एस के सभी प्रकार के और सीएसएस सामग्री के साथ पृष्ठ लोड, लेकिन यह भी खोलता है

+0

उदाहरण के लिए यदि सर्वर द्वारा हजारों टोकन उत्पन्न होते हैं तो प्रत्येक उपयोगकर्ता web.whatsapp.com खोलता है। HTTP के रूप में स्टेटलेस हैं। सर्वर कैसे शुरू होता है और उस विशेष टोकन से जुड़े उस विशेष उपयोगकर्ता की ब्राउज़र विंडो को कैसे ढूंढता है । –

+0

@dewnor आपके और मेरे बीच कितना ढेर ओवरफ्लो अंतर करता है। यह समान है, हम प्रत्येक के अलग टोकन हैं। –

+0

यह सच है जब उपयोगकर्ता सीधे ब्राउज़र के साथ इंटरैक्ट करता है (फॉर्म लोड -> उपयोगकर्ता क्रेडेंशियल्स में प्रवेश करता है -> प्रेस बटन दबाता है -> डैशबोर्ड पर रीडायरेक्ट हो जाता है)। लेकिन यहां केवल क्यूआर कोड प्रदान किया जाता है, फिर फोन और सर्वर के बीच बातचीत होती है। ब्राउज़र पर किसी भी उपयोगकर्ता के संपर्क के बिना सर्वर पर प्रमाणित होने के बाद। ब्राउज़र को डैशबोर्ड पर रीडायरेक्ट किया जाता है। टिप्पणी के ऊपर –

20

यह इस तरह काम करता है एक WebSocket (WSS: //w4.web.whatsapp.com/ws) -:

enter image description here

2.1- हर 20000 मिलीसेकंड आप ar के लिए WebSocket पर यातायात देखने इस छवि की जाँच करें आपके पास स्क्रीन पर आपके पास QR कोड पर efresh करें। इस सर्वर द्वारा ब्राउज़र को भेजा जाता है, WebSocket सोचा (WS हम अब के बाद से इसे कहते)

enter image description here

2.2- प्रत्येक QR कोड ताज़ा WS पर प्राप्त पर, अपने ब्राउज़र के लिए एक GET अनुरोध करता है BASE64 एन्कोड में नया क्यूआर कोड।

2.3 - ध्यान दें कि सर्वर और ब्राउज़र के बीच सर्वर खुला है यह विशिष्ट डब्ल्यूएस अद्वितीय क्यूआर कोड से जुड़ा हुआ है !!! तो, क्यूआर कोड को जानकर, सर्वर जानता है कि कौन सा डब्ल्यूएस इसके साथ जुड़ा हुआ है!

---- इस चरण में आपका ब्राउज़र व्हाट्सएप ऐप काम करने के लिए तैयार है, लेकिन यह नहीं पता कि आपका आईडी क्या है (व्हाट्सएप पहचानकर्ता जो आपका मोबाइल नंबर है), क्योंकि यह वास्तव में आपको फोन नंबर नहीं मिल सकता है पतली हवा से।

यह आपको टाइप करने की भी आवश्यकता नहीं है, क्योंकि सर्वर यह सुनिश्चित नहीं करेगा कि संख्या वास्तव में आपके साथ है।

तो, सर्वर पता है कि WS सत्र किसी विशिष्ट फ़ोन के अंतर्गत आता है यह बताने के लिए है, तो आप

3 पढ़ने QR के लिए फोन का उपयोग करने के लिए आप अपने फोन, जो प्रमाणित है (हड़पने की जरूरत है अन्यथा आप नहीं होगा क्यूआर कोड स्कैन करने के लिए अनुभाग तक पहुंच है), और क्यूआर कोड पढ़ने की बात

4- जब आपका मोबाइल क्यूआर कोड पढ़ता है, तो यह व्हाट्सएप सर्वर से संपर्क करता है और उन्हें बताता है: मेरा नंबर XXXX है, मेरा ऑथ क्रेडिट है YYYYY, और इस क्यूआर कोड से जुड़े डब्ल्यूएस अब मेरे डेटा

5- सर्वर अब जानता है कि यह टी को निर्देशित कर सकता है उस क्यूआर कोड से संबंधित विशिष्ट डब्ल्यूएस सॉकेट के लिए रैफिक, और ऐसा करता है!

6- ब्राउज़र डब्ल्यूएस पर आप उपयोगकर्ता के संबंध में डेटा भेजने वाले सर्वर को देख सकते हैं, जो आपके पास होने वाली बातचीत और कौन से फोटो थंबनेल जाने और पकड़ने के बारे में है।

enter image description here

7- ब्राउज़र WebSocket से इस डेटा हो जाता है, और अंगूठे पाने के लिए इसी प्राप्त अनुरोध करता, और अन्य संसाधनों यह, जरूरत सूचनाएं

7.1 के लिए एक एमपी 3 की तरह - WS ब्राउज़र पर श्रोता भी नए इंटरफेस के साथ पृष्ठ डीओएम को फिर से निकालने के लिए चरण 1 पर प्राप्त जावास्क्रिप्ट फ़ाइलों पर जावास्क्रिप्ट कॉल करता है।

8- इंटरफ़ेस अब व्हाट्सएप ऐप की तरह दिखने के लिए फिर से चलाया गया है, और आप डब्ल्यूएस पर डेटा प्राप्त करना जारी रखते हैं, और जब आवश्यक हो तो भेजते हैं, और इंटरफ़ेस में अपडेट किए जाते हैं क्योंकि डेटा डब्ल्यूएस पर पहुंच रहा है।

यही है।

क्रोम और डेवलपर टूल का उपयोग करके, आप यह सब लाइव हो सकते हैं। आप डब्ल्यूएस संचार भी देख सकते हैं (इसमें से अधिकांश, द्विआधारी फ्रेम जिन्हें आपको किसी अन्य उपकरण की आवश्यकता होगी) और देखें कि रास्ते के सभी चरणों में क्या हो रहा है।

इसके अलावा

:

  • चेक इस पर एक पूर्ण ट्यूटोरियल: ट्यूटोरियल के लिए Android Client

  • स्रोत कोड: ट्यूटोरियल के लिए HERE

  • स्रोत कोड: Java Play Server

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