ईमेल सत्यापन

ईमेल की पुष्टि करने वाला एपीआई एक ऐसा सुझाव है जिससे ब्राउज़र, ईमेल की सेवा देने वाली कंपनी से सीधे तौर पर संपर्क कर सकता है. इससे यह पुष्टि की जा सकती है कि उपयोगकर्ता के पास ईमेल पते का मालिकाना हक है. उपयोगकर्ता अपना ईमेल पता डालकर फ़ॉर्म सबमिट करते हैं. इसके बाद, साइट ब्राउज़र से मिले ईमेल की पुष्टि करने वाले टोकन की पुष्टि, ईमेल सेवा देने वाली कंपनी से करती है. इसके लिए, वह ईमेल नहीं भेजती है और न ही उपयोगकर्ता के फ़्लो में कोई रुकावट डालती है.

साइन-अप, साइन-इन, चेकआउट, न्यूज़लेटर की सदस्यता या खाता वापस पाने की सुविधा के दौरान ईमेल पता इकट्ठा करते समय, साइटें आम तौर पर इस बात की पुष्टि करती हैं कि फ़ॉर्म सबमिट करने वाला व्यक्ति, उस ईमेल पते का मालिक है. पुष्टि करने के मौजूदा तरीकों में, उपयोगकर्ताओं को आपकी साइट छोड़नी पड़ती है. साथ ही, उन्हें अपना इनबॉक्स देखने के लिए ऐप्लिकेशन स्विच करना पड़ता है, ओटीपी कॉपी करना पड़ता है या पुष्टि करने के लिए लिंक पर क्लिक करना पड़ता है. इस रुकावट की वजह से, असली उपयोगकर्ताओं और ऑटोमेटेड एजेंट, दोनों के लिए ड्रॉप-ऑफ़ और सेशन छोड़ने की दर बढ़ जाती है. उपयोगकर्ताओं को अक्सर पुष्टि करने के मौजूदा तरीकों में समस्याएं आती हैं. जैसे, ईमेल मिलने में देरी होना, लिंक की समयसीमा खत्म हो जाना या कोड की पहचान न हो पाना.

ईमेल पते की पुष्टि करने के लिए उपयोगकर्ता को दिखने वाले प्रॉम्प्ट का डेमो
ईमेल पते की पुष्टि करने के लिए उपयोगकर्ता को दिखने वाले प्रॉम्प्ट का डेमो

ईमेल पते की पुष्टि करने की सुविधा, आपके मौजूदा फ़्लो को बेहतर बनाने में मदद करती है:

  • कोई रुकावट नहीं: उपयोगकर्ता के फ़ॉर्म भरने के दौरान, पुष्टि की प्रक्रिया बैकग्राउंड में होती है.
  • सुविधा का पता लगाने की ज़रूरत नहीं है: साइटें अपने फ़ॉर्म में ईमेल इनपुट और छिपा हुआ टोकन इनपुट जोड़ती हैं. अगर ब्राउज़र या सेवा देने वाली कंपनी, ईमेल पते की पुष्टि करने की सुविधा के साथ काम नहीं करती है या पुष्टि नहीं हो पाती है, तो साइट ईमेल की पुष्टि करने की डिफ़ॉल्ट प्रोसेस पर वापस चली जाती है.
  • फ़िशिंग के जोखिम कम करना: इसमें कॉपी करने के लिए कोई कोड नहीं होता. साथ ही, उपयोगकर्ता को नकली साइट पर भेजने का कोई विकल्प नहीं होता.

डेमो में फ़्लो को टेस्ट किया जा सकता है:

ऑरिजिन ट्रायल से जुड़ी ज़रूरी बातें

ऑरिजिन ट्रायल, एक्सपेरिमेंट होते हैं. इनका मकसद लोगों से सुझाव/राय पाना होता है. इसलिए, अगर आप रिलाइंग पार्टी या आइडेंटिटी प्रोवाइडर के तौर पर हिस्सा लेते हैं, तो आपका सुझाव/राय बहुत अहम होती है. समस्याओं की शिकायत करने के लिए, इन GitHub रिपॉज़िटरी का इस्तेमाल करें:

अगर आपको Chrome में लागू करने के दौरान कोई गड़बड़ी मिलती है, तो इस कॉम्पोनेंट में समस्या की शिकायत दर्ज करें:

ओरिजिन ट्रायल टोकन शामिल करके, हर जवाब के हिसाब से ओरिजिन ट्रायल की सुविधा को कंट्रोल किया जा सकता है. इससे, इस सुविधा को उपयोगकर्ताओं के किसी खास सेगमेंट के लिए सीमित किया जा सकता है. जैसे, A/B टेस्टिंग में शामिल उपयोगकर्ता. इसके अलावा, अगर आपके पास बीटा टेस्टिंग या अर्ली प्रीव्यू के लिए उपयोगकर्ताओं का कोई ग्रुप है, तो हो सकता है कि आपको उनके लिए यह सुविधा चालू करनी हो. इस मामले में, टोकन जारी करने या उसकी पुष्टि करने से पहले, दिए गए ईमेल पते की जांच करें.

ऑरिजिन ट्रायल में ट्रैफ़िक की सीमाएं भी होती हैं, ताकि लॉन्च से पहले इस सुविधा पर भरोसा करने वाली साइटों की संख्या कम हो. इश्यू करने वाले का एपीआई अभी डेवलपमेंट के चरण में है. इसलिए, आपको Chrome के यूज़र एक्सपीरियंस में अपडेट के साथ-साथ, पुराने वर्शन के साथ काम न करने वाले बदलावों की उम्मीद करनी चाहिए.

इस ब्लॉग पर और evp-announce@chromium.org ईमेल पते पर, डेवलपमेंट से जुड़े अपडेट देखते रहें.

ईमेल पते की पुष्टि करने का फ़्लो

यहां दिए गए सेक्शन में, Email Verification API का इस्तेमाल करते समय इस्तेमाल किए जाने वाले मुख्य शब्दों और प्रोटोकॉल के चरणों के बारे में बताया गया है.

मुख्य शब्द

Email Verification API के लिए मुख्य शब्द ये हैं:

  • पुष्टि करने वाली साइट: यह वह साइट होती है जो ईमेल पता इकट्ठा करती है और उसकी पुष्टि करना चाहती है. पुष्टि करने वाले को भरोसेमंद पक्ष भी कहा जाता है.
  • ईमेल सेवा देने वाली कंपनी: यह वह कंपनी होती है जो उपयोगकर्ता को ईमेल पता देती है. उदाहरण के लिए, gmail.com.
  • जारी करने वाला: वह सेवा जो उपयोगकर्ता के ईमेल खाते को मैनेज करती है. उदाहरण के लिए, accounts.google.com. आईडी जारी करने वाली कंपनी को पहचान की पुष्टि करने वाली कंपनी भी कहा जाता है.

कुछ मामलों में, ईमेल सेवा देने वाली कंपनी और ईमेल जारी करने वाली कंपनी एक ही डोमेन से काम करती हैं. हालांकि, इन दोनों के बीच अंतर करना ज़रूरी है, क्योंकि EmailVerification API, ब्राउज़र में मौजूद चालू सेशन का इस्तेमाल करता है. साथ ही, पहचान की पुष्टि करने वाले व्यक्ति या कंपनी को पुष्टि के तरीके के तौर पर इस्तेमाल करता है. उदाहरण के लिए, पुष्टि करने के लिए example@gmail.com उपयोगकर्ता को उसी ब्राउज़र में उस खाते से google.com में साइन इन करना होगा.

प्रोटोकॉल फ़्लो

ईमेल पते की पुष्टि करने की प्रोसेस का आर्किटेक्चर
ईमेल पते की पुष्टि करने की प्रोसेस का आर्किटेक्चर
  1. फ़ॉर्म प्रज़ेंटेशन: रिलाइंग पार्टी, एचटीएमएल फ़ॉर्म दिखाती है. इसमें <input type="email"> और autocomplete="email-verification-token" के तौर पर मार्क किया गया छिपा हुआ इनपुट होता है. साथ ही, हर इंस्टेंस के लिए एक यूनीक nonce होता है.
  2. ईमेल पता डालना: जब उपयोगकर्ता कोई ईमेल पता डालता है, तब ब्राउज़र बैकग्राउंड में पुष्टि करने की प्रोसेस शुरू कर देता है. ईमेल पता डालने के लिए, उपयोगकर्ता इनमें से कोई तरीका अपना सकता है: अपने-आप भरने की सुविधा के सुझाव को चुनना, टाइप करना, चिपकाना, और फ़ील्ड से बाहर निकलना (blur).
  3. डिस्कवरी और सेशन: ब्राउज़र, _email-verification.<email-domain> के लिए DNS TXT रिकॉर्ड क्वेरी करता है, ताकि वह सेवा देने वाली कंपनी के आधिकारिक जारीकर्ता ऑरिजिन का पता लगा सके. इसके बाद, वह यह जांच करता है कि उपयोगकर्ता के पास जारीकर्ता के .well-known/web-identity कॉन्फ़िगरेशन और FedCM खातों के एंडपॉइंट का इस्तेमाल करके कोई चालू सेशन है या नहीं. अगर डोमेन कोई ईवीपी रिकॉर्ड पब्लिश नहीं करता है या कोई चालू सेशन मौजूद नहीं है, तो ब्राउज़र उपयोगकर्ता को सूचना दिए बिना पुष्टि करना बंद कर देता है.
  4. टोकन जारी करना: ब्राउज़र, .well-known/email-verification से issuance_endpoint का पता लगाता है. इसके बाद, एक छोटा सा कुंजी जोड़ा बनाता है. साथ ही, एचटीटीपी मैसेज सिग्नेचर (आरएफ़सी 9421) का इस्तेमाल करके, एचटीटीपी POST अनुरोध भेजता है. इसमें जारी करने वाले के पहले पक्ष की सेशन कुकी और टारगेट ईमेल पता शामिल होता है, ताकि हस्ताक्षर किया गया ईमेल की पुष्टि करने वाला टोकन (EVT) मिल सके.
  5. कुंजी बाइंड करना और सबमिट करना: ब्राउज़र, हस्ताक्षर किए गए EVT को रिलाइंग पार्टी के ऑरिजिन और फ़ॉर्म nonce से बाइंड करता है. यह कार्रवाई, कुंजी बाइंड करने वाले जेडब्लयूटी (KB-JWT) के अंदर की जाती है. जब उपयोगकर्ता फ़ॉर्म सबमिट करता है, तब Chrome छिपे हुए इनपुट फ़ील्ड में कंबाइंड टोकन (<EVT>~<KB-JWT>) भरता है. साथ ही, उपयोगकर्ता को एक छोटी सूचना दिखाता है. इसमें बताया जाता है कि ईमेल सेवा देने वाली कंपनी ने उसके पते की पुष्टि कर दी है.
  6. दावों और केबी की पुष्टि करना: रिलाइंग पार्टी सर्वर, <EVT>~<KB-JWT> टोकन को पार्स करता है. साथ ही, अनुमानित दावों (email, email_verified, aud, nonce, iat, और exp) की पुष्टि करता है. इसके अलावा, cnf.jwk में मौजूद कुछ समय के लिए इस्तेमाल होने वाली सार्वजनिक कुंजी के ख़िलाफ़, कुंजी बाइंडिंग के हस्ताक्षर की पुष्टि करता है.
  7. डीएनएस और सार्वजनिक कुंजियां: पुष्टि करने वाली पार्टी, _email-verification.<email-domain> डीएनएस टीएक्सटी रिकॉर्ड से क्वेरी करती है, ताकि यह पुष्टि की जा सके कि यह टोकन के iss दावे से मेल खाता है. इसके बाद, वह jwks_uri से जारी करने वाले के .well-known/email-verification मेटाडेटा और सार्वजनिक कुंजियों को फ़ेच करती है.
  8. ईवीटी की पुष्टि करना और उसे पूरा करना: रिलाइंग पार्टी, प्रोवाइडर के सार्वजनिक JWKS का इस्तेमाल करके, जारी करने वाले के EVT हस्ताक्षर की पुष्टि करती है. अगर कोई टोकन नहीं मिलता है या पुष्टि करने का कोई चरण पूरा नहीं होता है, तो साइट पर ईमेल से पुष्टि करने की मौजूदा प्रोसेस का इस्तेमाल किया जाता है.

जब कोई उपयोगकर्ता पहली बार किसी ईमेल पते की पुष्टि करता है, तो Chrome, टोकन का अनुरोध करने से पहले अनुमति का अनुरोध दिखाता है. डेस्कटॉप पर यह अनुरोध, डायलॉग के तौर पर दिखता है. वहीं, Android पर यह बॉटम शीट के तौर पर दिखता है. अगर अनुमति दी जाती है, तो यह अनुमति हर ईमेल पते के लिए, उन सभी साइटों पर याद रखी जाती है जो इस सुविधा का इस्तेमाल करती हैं.

Chrome सेटिंग

उपयोगकर्ता, पुष्टि किए गए ईमेल पतों को मैनेज कर सकते हैं:

  • डेस्कटॉप पर, सेटिंग > ऑटोमैटिक भरने की सुविधा और पासवर्ड > संपर्क जानकारी > पुष्टि किया गया ईमेल पर जाएं (या chrome://settings/contactInfo खोलें)
  • Android पर, सेटिंग > पते और अन्य जानकारी > पुष्टि किया गया ईमेल में जाकर

उपयोगकर्ता इस सुविधा को पूरी तरह से बंद कर सकते हैं या पुष्टि किए गए अलग-अलग ईमेल पतों को मैनेज कर सकते हैं.

इस्तेमाल के उदाहरणों से जुड़ी बातें

ईमेल पते की पुष्टि करने की सुविधा, आपके मौजूदा फ़्लो को बेहतर बनाने के लिए उपलब्ध है. इससे उपयोगकर्ता को ओटीपी पाने या लिंक पर क्लिक करने के लिए, आपकी साइट छोड़ने की ज़रूरत नहीं पड़ती. साइटें, ईमेल पते की पुष्टि करने वाले फ़ील्ड को सभी ज़रूरी फ़ॉर्म में जोड़ सकती हैं. जैसे, लॉगिन, न्यूज़लेटर के लिए साइन अप, खाता बनाना, और पासवर्ड वापस पाना. EVP सिर्फ़ तब ट्रिगर होता है, जब ब्राउज़र इसे सपोर्ट करता हो. अगर सबमिट करने पर कोई कोड नहीं मिलता है या पुष्टि करने के किसी भी चरण में समस्या आती है, तो ईमेल की पुष्टि करने के लिए, डिफ़ॉल्ट तरीके का इस्तेमाल किया जा सकता है. इसका यह भी मतलब है कि एपीआई के लिए, सुविधा का पता लगाने की कोई सुविधा नहीं है. पुष्टि करने वाली साइट, ईवीटी को वैकल्पिक मानती है. अगर यह अनुरोध में मौजूद है, तो इसे प्रोसेस किया जाता है.

ईमेल पते की पुष्टि करने से यह पता चलता है कि उपयोगकर्ता का ईमेल पता देने वाली कंपनी के साथ उसका सेशन चालू है. इससे यह पुष्टि नहीं होती कि आपका ईमेल उपयोगकर्ता तक पहुंच गया है. ऐसा हो सकता है कि आपको अब भी वेलकम या ऑनबोर्डिंग वाले ईमेल भेजने हों. साथ ही, आपको उपयोगकर्ता को स्पैम सेटिंग देखने के लिए कहना हो.