यह लेख नेटिव ऐप्स (iOS + Android) में पासकीज़ को लागू करने का तरीका बताता है। आप जानेंगे कि पासकी प्रमाणीकरण के लिए किस प्रकार के वेबव्यू की सिफारिश की जाती है।
Vincent
Created: June 20, 2025
Updated: June 21, 2025
Our mission is to make the Internet a safer place, and the new login standard passkeys provides a superior solution to achieve that. That's why we want to help you understand passkeys and its characteristics better.
प्रमाणीकरण एक प्रहरी के रूप में खड़ा है, जो उपयोगकर्ता डेटा की सुरक्षा करता है और नेटिव ऐप्स के भीतर सुरक्षित इंटरैक्शन सुनिश्चित करता है। पासकीज़ के आगमन ने इस क्षेत्र में क्रांति ला दी है, जो एक मजबूत और उपयोगकर्ता-अनुकूल प्रमाणीकरण तंत्र प्रदान करता है। नेटिव ऐप में पासकीज़ को एकीकृत करने के दो प्रमुख तरीके हैं, या तो नेटिव कार्यान्वयन के माध्यम से या वेबव्यू के माध्यम से। आइए पहले देखें कि दोनों तरीकों की तुलना कैसे की जाती है।
एक नेटिव कार्यान्वयन को अक्सर एक ऐप के भीतर सबसे अच्छा उपयोगकर्ता अनुभव प्रदान करने वाला माना जाता है। इसकी विशेषता इसके सहज, एकीकृत और सामंजस्यपूर्ण उपयोगकर्ता इंटरैक्शन हैं, जो ऑपरेटिंग सिस्टम के वातावरण के लिए सटीक रूप से तैयार किए गए हैं, चाहे वह iOS हो या Android। 100% नेटिव कार्यान्वयन की आवश्यकता 100% पासवर्ड रहित होना और वास्तव में पासकी-नेटिव होना है। यह दृष्टिकोण आपको नेटिव ऐप और वेब सामग्री (एक वेबव्यू के माध्यम से प्रदर्शित) के बीच संक्रमण के संभावित घर्षण से मुक्त करता है।
नेटिव ऐप विकसित करते समय, पूरी तरह से नेटिव होने का रास्ता हमेशा संभव नहीं होता है। उन परिदृश्यों में जहां आपको अभी भी OAuth2 का उपयोग करके पासवर्ड-आधारित समर्थन करने की आवश्यकता है, एक पूर्ण नेटिव एकीकरण संभव नहीं हो सकता है, जिससे वेबव्यू कार्यान्वयन एकमात्र व्यवहार्य विकल्प बन जाता है। वेबव्यू एक पुल के रूप में कार्य करता है, जो आपके ऐप के भीतर सीधे वेब सामग्री को एम्बेड करता है, वेब पेजों के माध्यम से नेविगेट करते समय एक ब्राउज़र-जैसा UX प्रदान करता है। यह विशेष रूप से प्रासंगिक है यदि आप स्वयं एक OAuth2 प्रदाता हैं, आपका अंतर्निहित प्रमाणीकरण समाधान OAuth2-आधारित है या यदि आपका लॉगिन समाधान तीसरे पक्षों के माध्यम से सामाजिक लॉगिन का उपयोग करता है, जैसे कि Google या GitHub। इन मामलों में, वेब सामग्री के साथ बातचीत करने और विभिन्न उपयोगकर्ता प्रमाणीकरण प्रवाहों का प्रबंधन करने की आवश्यकता के कारण वेबव्यू का उपयोग करना अनिवार्य हो जाता है, खासकर जब नेटिव ऐप एसोसिएशन की आवश्यकता होती है।
संक्षेप में, जबकि नेटिव कार्यान्वयन एक अद्वितीय, सहज उपयोगकर्ता अनुभव प्रदान करते हैं, वे हमेशा एक व्यवहार्य विकल्प नहीं हो सकते हैं, खासकर जब पासवर्ड-आधारित या OAuth2-आधारित प्रमाणीकरण समाधानों के साथ जोड़ा जाता है। दूसरी ओर, वेबव्यू कार्यान्वयन आपके ऐप के भीतर वेब सामग्री को एकीकृत करने और उपयोगकर्ता प्रमाणीकरण का प्रबंधन करने के लिए एक लचीला, यद्यपि थोड़ा कम सहज, मार्ग प्रदान करता है, यह सुनिश्चित करता है कि आप विभिन्न प्रमाणीकरण प्रवाहों और तीसरे पक्ष के लॉगिन की जटिलताओं को नेविगेट कर सकते हैं।
इस लेख के अगले खंड वेबव्यू के माध्यम से कार्यान्वयन पर ध्यान केंद्रित करते हैं। नेटिव पासकी एकीकरण के बारे में अधिक जानने के लिए, कृपया यहाँ देखें।
Ben Gould
Head of Engineering
I’ve built hundreds of integrations in my time, including quite a few with identity providers and I’ve never been so impressed with a developer experience as I have been with Corbado.
10,000+ devs trust Corbado & make the Internet safer with passkeys. Got questions? We’ve written 150+ blog posts on passkeys.
Join Passkeys Communityनेटिव ऐप्स में प्रमाणीकरण की भूलभुलैया से गुजरते हुए, डेवलपर्स और उत्पाद प्रबंधकों को एक महत्वपूर्ण निर्णय का सामना करना पड़ता है: पासकी प्रमाणीकरण को नेटिव रूप से या वेबव्यू के माध्यम से लागू करना। यदि बाद वाले के लिए निर्णय लिया जाता है, तो iOS और Android दोनों प्लेटफ़ॉर्म दो अलग-अलग प्रकार के वेबव्यू प्रदान करते हैं, प्रत्येक अपनी अनूठी विशेषताओं और संभावित उपयोग के मामलों के साथ।
निम्नलिखित अनुभागों में, हम इन वेबव्यू प्रकारों में गहराई से उतरते हैं और अंततः आपको अपने नेटिव ऐप्स में पासकी प्रमाणीकरण के लिए कौन सा वेबव्यू नियोजित करना है, इस पर एक सूचित निर्णय लेने के लिए मार्गदर्शन करते हैं (यदि शुद्ध नेटिव कार्यान्वयन कोई विकल्प नहीं है)।
iOS वेबव्यू या तो WKWebView या SFSafariViewController हैं (यदि OAuth / OIDC के साथ काम कर रहे हैं, तो यह SFAuthenticationSession / ASWebAuthenticationSession है)।
iOS में विभिन्न वेबव्यू व्यवहार का परीक्षण करने के लिए, हम ऐप WebView - WKWebView and UIWebView rendering की अनुशंसा करते हैं।
WKWebView iOS डेवलपर्स के लिए उपलब्ध एक शक्तिशाली और बहुमुखी वेबव्यू विकल्प है। iOS 8 के साथ पेश किया गया, यह डेवलपर्स को एक ऐप के भीतर सीधे वेब सामग्री एम्बेड करने की अनुमति देता है, जो अनुकूलन और कॉन्फ़िगरेशन विकल्पों की एक विस्तृत श्रृंखला प्रदान करता है। WKWebView अपने प्रदर्शन के लिए प्रसिद्ध है, जो Safari के समान वेब रेंडरिंग इंजन का उपयोग करता है, और वेब सामग्री के साथ बातचीत करने, नेविगेशन, उपयोगकर्ता इंटरैक्शन और बहुत कुछ प्रबंधित करने के लिए APIs का एक समृद्ध सेट प्रदान करता है।
SFSafariViewController एक वेबव्यू है जो डेवलपर्स को अपने ऐप्स के भीतर सीधे Safari की क्षमताओं का लाभ उठाने की अनुमति देता है। यह उपयोगकर्ता की Safari सेटिंग्स, जैसे सहेजे गए पासवर्ड, पासकीज़, कुकीज़, और बहुत कुछ का उपयोग करके एक सहज उपयोगकर्ता अनुभव प्रदान करता है, जो लगातार वेब ब्राउज़िंग सुनिश्चित करता है, क्योंकि यह वास्तव में Safari एप्लिकेशन के रूप में चलता है। SFSafariViewController WKWebView जितना अनुकूलन योग्य नहीं है, लेकिन यह बढ़ी हुई सुरक्षा सुविधाएँ और उपयोग में आसानी प्रदान करता है, जिससे यह ऐप्स के भीतर सीधी वेब सामग्री प्रदर्शित करने के लिए एक पसंदीदा विकल्प बन जाता है।
WKWebView | SFSafariViewController | |
---|---|---|
उपयोगकर्ता अनुभव | - नेटिव एहसास: उपयोगकर्ताओं को लग सकता है कि वेब सामग्री ऐप का एक नेटिव हिस्सा है क्योंकि डेवलपर ऐप के डिज़ाइन से मेल खाने के लिए लुक और फील को कस्टमाइज़ कर सकते हैं। - ऑटोफिल: Safari से डेटा के साथ ऑटोफिल संभव है | - निर्बाध: उपयोगकर्ता की Safari सेटिंग्स का उपयोग करके निर्बाध उपयोगकर्ता अनुभव, जो नेटिव ऐप और ब्राउज़र के बीच लगातार वेब ब्राउज़िंग सुनिश्चित करता है। |
डेवलपर अनुभव | - अत्यधिक अनुकूलन योग्य: व्यापक अनुकूलन और कॉन्फ़िगरेशन उपलब्ध है - लचीला: वेब सामग्री के साथ बातचीत करने के लिए कई APIs | - मध्यम अनुकूलन योग्य: सीमित अनुकूलन विकल्प, विशेष रूप से WKWebView की तुलना में, - सरल: WKWebView की तुलना में लागू करना सरल |
प्रदर्शन | - अपेक्षाकृत धीमा: कार्यान्वयन और वेब सामग्री के आधार पर, लोडिंग गति को अनुकूलित किया जा सकता है, लेकिन कस्टम सुविधाओं और इंटरैक्शन के अतिरिक्त प्रसंस्करण के कारण SFSafariViewController की तुलना में अभी भी धीमा हो सकता है। | - अपेक्षाकृत तेज़: आमतौर पर बेहतर प्रदर्शन प्रदान करता है क्योंकि यह Safari इंजन का लाभ उठाता है, जो गति और दक्षता के लिए अनुकूलित है, वेब पेजों के लिए तेज़ लोडिंग समय प्रदान करता है। |
विश्वास और पहचान | - URL प्रदर्शन आवश्यक नहीं: WKWebView अक्सर URL नहीं दिखाता है, जिससे उपयोगकर्ताओं के लिए वेबपेज को सत्यापित करना कठिन हो जाता है। दुर्भावनापूर्ण ऐप्स इस व्यवहार की नकल कर सकते हैं और क्रेडेंशियल्स को फ़िश कर सकते हैं। | - ब्राउज़र-जैसा अनुभव: Safari का उपयोग करके वेब पेज प्रस्तुत करता है, एक "ब्राउज़र-जैसा" अनुभव प्रदान करता है। उपयोगकर्ता URL देख सकते हैं और Safari की ऑटो-फिल सुविधाओं तक पहुँच सकते हैं, जो परिचित इंटरफ़ेस के कारण संभावित रूप से अधिक विश्वास पैदा करता है। |
अलगाव | - अलग: कुकीज़ और सत्र Safari से अलग होते हैं; उपयोगकर्ता स्वचालित रूप से WKWebView में लॉग इन नहीं होंगे। | - अलग: कुकीज़ और सत्र Safari से अलग होते हैं; उपयोगकर्ता स्वचालित रूप से SFSafariViewController में भी लॉग इन नहीं होंगे। |
कमजोरियाँ | - सुरक्षित: Apple के ऐप सैंडबॉक्सिंग के कारण स्वाभाविक रूप से सुरक्षित, लेकिन व्यवहार और सुरक्षा ऐप के कार्यान्वयन पर निर्भर करती है। यदि सही ढंग से लागू नहीं किया गया तो संभावित कमजोरियाँ हो सकती हैं। | - अधिक सुरक्षित: Safari की अंतर्निहित सुरक्षा सुविधाओं से लाभ होता है, जिसमें एंटी-फ़िशिंग और दुर्भावनापूर्ण वेबसाइट चेतावनियाँ शामिल हैं। इन सुविधाओं और Safari के साथ उपयोगकर्ता की परिचितता के कारण वेब सामग्री प्रदर्शित करने के लिए आम तौर पर WKWebView से अधिक सुरक्षित माना जाता है। |
अन्य | - सुविधाएँ उपलब्ध नहीं: कुछ ब्राउज़र सुविधाएँ (जैसे, WebAuthn) सुरक्षा चिंताओं और एप्लिकेशन संदर्भ में चल रहे WKWebView के कारण पूरी तरह से सुलभ नहीं हो सकती हैं। - जावास्क्रिप्ट इंजेक्शन: कुछ ऐप्स, जैसे टिकटॉक, अपने इन-ऐप WKWebView में ट्रैकिंग जावास्क्रिप्ट इंजेक्ट करते हैं, या उपयोगकर्ता नियंत्रक को प्रतिबंधित करते हैं (जैसे फेसबुक) - गोपनीयता के मुद्दे: गोपनीयता के संबंध में अधिक सामुदायिक प्रतिक्रिया | - कोई जावास्क्रिप्ट इंजेक्शन नहीं: ऐप से जावास्क्रिप्ट के निष्पादन की अनुमति नहीं देता है, जिससे सुरक्षा और गोपनीयता बढ़ती है। यह जावास्क्रिप्ट अलर्ट या पुष्टिकरण का भी समर्थन नहीं करता है, जो कुछ वेब पेजों पर उपयोगकर्ता अनुभव को प्रभावित कर सकता है। - रीडर मोड: लेखों के स्वच्छ, आसानी से पढ़े जाने वाले संस्करण के लिए एक रीडर मोड प्रदान करता है। |
SFAuthenticationSession और ASWebAuthenticationSession वेबव्यू हैं जो विशेष रूप से OAuth / OpenID Connect-आधारित प्रमाणीकरण प्रवाह के लिए तैयार किए गए हैं। वे उपयोगकर्ता प्रमाणीकरण के लिए एक सुरक्षित और पृथक स्थान प्रदान करते हैं, उपयोगकर्ता क्रेडेंशियल्स की सुरक्षा करते हैं और यह सुनिश्चित करते हैं कि निजी जानकारी अनजाने में ऐप के साथ साझा न हो। ये सत्र Safari के साथ कुकीज़ और वेबसाइट डेटा साझा करते हैं, एक सुसंगत और सहज उपयोगकर्ता अनुभव प्रदान करते हैं, खासकर प्रमाणीकरण प्रक्रियाओं के दौरान।
फायदे:
नुकसान:
जब प्राथमिक कार्य उपयोगकर्ता प्रमाणीकरण है, विशेष रूप से SSO को लागू करते समय या OAuth प्रदाताओं के साथ बातचीत करते समय, आपको SFSafariViewController के बजाय SFAuthenticationSession / ASWebAuthenticationSession का उपयोग करना चाहिए।
Android वेबव्यू या तो WebView या Chrome Custom Tabs (CCT) हैं। Android में विभिन्न वेबव्यू व्यवहार का परीक्षण करने के लिए, हम ऐप WebView vs Chrome Custom Tabs की अनुशंसा करते हैं।
Android पर WebView एक व्यापक घटक है जो डेवलपर्स को ऐप्स UI के हिस्से के रूप में वेब सामग्री प्रदर्शित करने की अनुमति देता है। यह बहुमुखी है, जो अनुकूलन विकल्पों की एक विस्तृत श्रृंखला प्रदान करता है और डेवलपर्स को विभिन्न आवश्यकताओं के अनुरूप वेबव्यू को कॉन्फ़िगर करने की सुविधा प्रदान करता है। WebView वेब सामग्री के साथ बातचीत करने, उपयोगकर्ता इंटरैक्शन को प्रबंधित करने और यहां तक कि जावास्क्रिप्ट संवाद, क्लाइंट प्रमाणपत्र और अनुमति अनुरोधों को संभालने के लिए APIs का एक समृद्ध सेट प्रदान करता है।
Chrome Custom Tabs (CCT) आपके ऐप में सीधे वेब सामग्री को एकीकृत करने का एक सहज, सुरक्षित और कुशल तरीका प्रदान करता है। Chrome की क्षमताओं और सुरक्षा सुविधाओं का लाभ उठाकर, CCT एक उपयोगकर्ता अनुभव प्रदान करता है जो सुसंगत और उच्च-प्रदर्शन दोनों है।
CCT Chrome ब्राउज़र का एक घटक है, जिसे Android ढांचे के साथ एकीकृत करने के लिए डिज़ाइन किया गया है, जो ऐप्स को एक हल्के, समर्पित प्रक्रिया में वेब सामग्री खोलने की अनुमति देता है। विशेष रूप से, यह एक पारंपरिक ब्राउज़र की तुलना में तेज़ी से खुलता है और, जब इसकी वार्म-अप कॉल के माध्यम से प्रीलोड किया जाता है, तो संभावित रूप से एक वेबव्यू से बेहतर प्रदर्शन करता है। जबकि यह जावास्क्रिप्ट निष्पादित करता है, यह अपनी प्रक्रिया में काम करता है, ऐप्स को दुर्भावनापूर्ण कोड चलाने से बचाता है। इसके अलावा, CCTs UI एक एक्शन बार प्रदान करता है, जो URL और सुरक्षित पृष्ठों के लिए एक SSL सत्यापन लॉक आइकन प्रदर्शित करता है, जिससे उपयोगकर्ताओं को लोड किए जा रहे पृष्ठ की प्रामाणिकता और सुरक्षा का आश्वासन मिलता है।
सामान्य तौर पर, कोई यह कह सकता है कि iOS WKWebView और Android WebView, साथ ही SFSafariViewController और Chrome Custom Tabs (CCT) समान हैं।
फ़ीचर | WebView | Chrome Custom Tab |
---|---|---|
उपयोगकर्ता अनुभव | - लचीलापन: वेब सामग्री के साथ इंटरैक्ट करने और उपयोगकर्ता इंटरैक्शन को प्रबंधित करने के लिए APIs का एक समृद्ध सेट प्रदान करता है, जिसमें जावास्क्रिप्ट संवाद और अनुमति अनुरोधों को संभालना शामिल है। - संगति: एक सुसंगत UX का प्रबंधन, विशेष रूप से विविध वेब सामग्री के साथ, चुनौतीपूर्ण हो सकता है। | - ब्राउज़र सुविधाएँ: डेटा सेवर और उपकरणों में सिंक्रनाइज़ ऑटो-कम्प्लीट जैसी सुविधाएँ साझा करता है। - बैक बटन: उपयोगकर्ताओं को एक एकीकृत बैक बटन के साथ आसानी से ऐप पर लौटने की अनुमति देता है। - निर्भरता: Chrome ऐप पर निर्भर करता है, जो सभी उपयोगकर्ता उपकरणों पर उपलब्ध या अपडेट नहीं हो सकता है - ब्राउज़र पर रीडायरेक्ट करें: कुछ कार्यक्षमताएँ उपयोगकर्ताओं को Chrome ऐप पर रीडायरेक्ट कर सकती हैं, जो संभावित रूप से उपयोगकर्ता अनुभव को बाधित कर सकती हैं। - आंशिक कस्टम टैब: स्क्रीन का केवल एक हिस्सा Chrome Custom Tab के लिए उपयोग किया जा सकता है जबकि बाकी नेटिव ऐप दिखाता है - साइड-शीट: लैंडस्केप मोड में और बड़े स्क्रीन वाले उपकरणों पर, Chrome Custom Tab केवल स्क्रीन के एक तरफ प्रदर्शित होता है, जबकि स्क्रीन का बाकी हिस्सा नेटिव ऐप दिखाता है |
डेवलपर अनुभव | - अत्यधिक अनुकूलन योग्य: व्यापक अनुकूलन विकल्प/आवश्यकताएँ प्रदान करता है। - इंटरैक्टिविटी: वेब सामग्री के साथ बातचीत करने और उपयोगकर्ता इंटरैक्शन को प्रबंधित करने के लिए कई APIs प्रदान करता है। | - अनुकूलन योग्य: टूलबार रंग, एक्शन बटन, बॉटम टूलबार, कस्टम मेनू आइटम और इन/आउट एनिमेशन के अनुकूलन की अनुमति देता है। - कॉलबैक: बाहरी नेविगेशन पर एप्लिकेशन को एक कॉलबैक वितरित करता है। - सुरक्षा सुविधाएँ: आउट-ऑफ-द-बॉक्स सुविधाएँ प्रदान करता है, जिससे अनुरोधों, अनुमति अनुदानों या कुकी स्टोर को प्रबंधित करने की आवश्यकता समाप्त हो जाती है। |
प्रदर्शन | - औसत प्रदर्शन: Chrome Custom Tabs (CCT) के समान प्रदर्शन का स्तर प्रदान नहीं कर सकता है | - प्री-वार्मिंग: पेज लोड समय को बढ़ाने के लिए पृष्ठभूमि में ब्राउज़र की प्री-वार्मिंग और URLs की सट्टा लोडिंग शामिल है। - प्राथमिकता: कस्टम टैब लॉन्च करने वाले ऐप्स को "अग्रभूमि" स्तर पर इसके महत्व को बढ़ाकर इसके उपयोग के दौरान बेदखल होने से रोकता है। |
विश्वास और पहचान | - URL और SSL दिखाई नहीं देते: URL और SSL जानकारी WebView में स्वाभाविक रूप से दिखाई नहीं देती है। जब तक ऐप डेवलपर इन सुविधाओं को लागू नहीं करता, उपयोगकर्ताओं को यह पता नहीं चलेगा कि वे सही वेबसाइट पर हैं या फ़िशिंग वाली पर। | - URL और SSL दिखाई देते हैं: पृष्ठों को प्रस्तुत करने के लिए वास्तविक Chrome ब्राउज़र का उपयोग करता है। उपयोगकर्ता URL और SSL प्रमाणपत्र देख सकते हैं (यह दर्शाता है कि कनेक्शन सुरक्षित है या नहीं)। यह उपयोगकर्ताओं को विश्वास प्रदान कर सकता है कि वे फ़िशिंग साइट पर नहीं हैं। |
अलगाव | - ऐप की प्रक्रिया के भीतर चलता है: यदि किसी ऐप में कोई भेद्यता है जो दुर्भावनापूर्ण कोड निष्पादन की अनुमति देती है, तो यह जोखिम है कि WebView से समझौता किया जा सकता है। हालांकि, WebView को भी अपडेट मिलते हैं, लेकिन इसका व्यवहार और सुरक्षा इसका उपयोग करने वाले ऐप पर अधिक निर्भर हो सकती है। - कोई कुकी / सत्र साझाकरण नहीं: डिवाइस के मुख्य ब्राउज़र के साथ कुकीज़ या सत्र साझा नहीं करता है, अलगाव प्रदान करता है लेकिन संभवतः उपयोगकर्ताओं को फिर से लॉग इन करने की आवश्यकता होती है। | - Chrome की प्रक्रिया के भीतर चलता है: Chrome का हिस्सा होने के नाते, कस्टम टैब एक ही प्रक्रिया में चलते हैं और उनमें Chrome के समान सुरक्षा अपडेट और सुविधाएँ होती हैं। - साझा कुकी जार और अनुमति मॉडल: यह सुनिश्चित करता है कि उपयोगकर्ताओं को साइटों में फिर से साइन इन करने या अनुमतियों को फिर से प्रदान करने की आवश्यकता नहीं है। - Chrome सेटिंग्स और प्राथमिकताएँ: Chrome की सेटिंग्स और प्राथमिकताओं का उपयोग करता है। |
कमजोरियाँ | - क्रेडेंशियल चुराने के लिए कॉलबैक: संभावित कमजोरियों में यह शामिल है कि कभी-कभी जावास्क्रिप्ट की आवश्यकता होती है जो अन्य ऐप्स के लिए दुर्भावनापूर्ण कोड चलाने का दरवाजा खोलती है, जैसे कि कॉलबैक पंजीकृत करना जो उपयोगकर्ता नाम और पासवर्ड को इंटरसेप्ट करने का प्रयास करते हैं। - फ़िशिंग: इसके अतिरिक्त, एक दुर्भावनापूर्ण ऐप एक और वेब पेज खोल सकता है जो फ़िशिंग प्रयास में लिंक प्रवाह की नकल करता है। | - Google सुरक्षित ब्राउज़िंग: उपयोगकर्ता और डिवाइस दोनों को खतरनाक साइटों से बचाने के लिए Google की सुरक्षित ब्राउज़िंग का उपयोग करता है। - सुरक्षित ब्राउज़र सजावट: यह सुनिश्चित करता है कि उपयोगकर्ता हमेशा उस सटीक URL को देखता है जिसके साथ वे बातचीत कर रहे हैं और वेबसाइट की प्रमाणपत्र जानकारी देख सकते हैं, जिससे फ़िशिंग का खतरा कम हो जाता है। इसके अलावा, कस्टम टैब जावास्क्रिप्ट इंजेक्शन की अनुमति नहीं देते हैं। |
अन्य | - Google ने Google खातों में उपयोगकर्ताओं को लॉगिन करने के लिए वेबव्यू पर प्रतिबंध लगा दिया है |
हमारे ग्राहक लगातार हमसे पूछते हैं कि नेटिव ऐप्स में पासकीज़ को कैसे लागू किया जाना चाहिए। मोटे तौर पर उन ग्राहकों को विभिन्न समूहों में विभाजित किया जा सकता है:
समूह A:
वे ग्राहक जो अपने नेटिव ऐप को स्क्रैच से बनाना शुरू करते हैं और सीधे हमारे पासवर्ड रहित प्रमाणीकरण का उपयोग कर सकते हैं (कोई पुराना पासवर्ड मौजूद नहीं है)।
समूह B:
मौजूदा उपयोगकर्ताओं और मौजूदा प्रमाणीकरण समाधान वाले ग्राहक। अक्सर उनके पास पहले से ही एक मौजूदा वेब ऐप होता है जिसे अपनी प्रमाणीकरण प्रक्रिया में पासकीज़ जोड़ने की भी आवश्यकता होती है। यहां कई कंपनियां दो-चरणीय प्रक्रिया पर जाने का निर्णय लेती हैं:
अपना समूह निर्धारित करें
अपने उपयोगकर्ताओं को एक नेटिव ऐप में सर्वश्रेष्ठ पासकी कार्यान्वयन प्रदान करने के लिए, आपको यह तय करने की आवश्यकता है कि आप किस समूह से संबंधित हैं, जो आपके वर्तमान तकनीकी सेटअप और आप पासकीज़ को कैसे आगे बढ़ाना चाहते हैं (यह प्रश्न समूह B की कंपनियों के लिए प्रासंगिक है) पर आधारित है।
समूह A के लिए सिफारिश: नेटिव कार्यान्वयन
यदि आप पूरी तरह से एक नया ऐप (समूह A) बना रहे हैं, तो हम एक नेटिव पासकी कार्यान्वयन के साथ जाने और तुरंत पूरी तरह से पासवर्ड रहित होने की सलाह देते हैं (इसलिए किसी भी प्रकार के वेबव्यू का उपयोग नहीं किया जाता है)। कृपया iOS और Android के लिए नेटिव SDKs और APIs का उपयोग करें (उदाहरण के लिए, पासकीज़ फ़्लटर पैकेज के माध्यम से)। कृपया Relying Party IDs के बारे में यह लेख भी पढ़ें।
समूह B के लिए सिफारिश: पहले वेबव्यू, फिर नेटिव कार्यान्वयन
यदि आप आज किसी भी कारण से नेटिव रूप से पासकीज़ लागू नहीं कर सकते हैं (समूह B), तो आप एक वेबव्यू कार्यान्वयन के साथ शुरू कर सकते हैं और फिर भविष्य में एक नेटिव पासकी कार्यान्वयन में भी जा सकते हैं (यह एसोसिएशन फ़ाइलों के निर्माण के माध्यम से काम करता है, जैसे iOS ऐप्स के लिए apple-app-site-association और Android ऐप्स के लिए assetlinks.json)। वेबव्यू कार्यान्वयन के साथ जाने के कारणों में शामिल हो सकते हैं:
यह वह तरीका है जिससे Google या GitHub ने वर्तमान में अपने नेटिव ऐप्स में पासकी प्रमाणीकरण लागू किया है। पासकी प्रमाणीकरण के लिए वेबव्यू को सही ढंग से स्थापित करने के लिए कृपया नीचे दी गई सिफारिश देखें। हालांकि, हम KAYAK की तरह एक नेटिव पासकी कार्यान्वयन पर विचार करने और सीधे चरण 2 से शुरू करने की सलाह देते हैं।
यदि आप समूह B से संबंधित हैं और नेटिव रूप से पासकीज़ लागू नहीं कर सकते हैं, तो हमारी सिफारिश iOS के लिए SFAuthenticationSession / ASWebAuthenticationSession और Android के लिए Chrome Custom Tabs का उपयोग करने की ओर झुकती है (अन्यथा पासकीज़ वैसे भी काम नहीं करेंगी)।
निम्नलिखित में, हम इस सिफारिश के कारण बताते हैं:
SFAuthenticationSession / ASWebAuthenticationSession Safari के साथ कुकीज़ और वेबसाइट डेटा साझा करते हैं, जो प्रमाणीकरण प्रक्रियाओं के दौरान एक सहज उपयोगकर्ता अनुभव प्रदान करते हैं। यही बात Android पर Chrome Custom Tabs के लिए भी लागू होती है।
उपयोगकर्ताओं को ब्राउज़र में उनके सहेजे गए पासवर्ड, ऑटो-फिल डेटा और अन्य संग्रहीत जानकारी से लाभ होता है, जिससे प्रमाणीकरण प्रक्रिया आसान और तेज़ हो जाती है।
iOS पर SFAuthenticationSession / ASWebAuthenticationSession और Android पर Chrome Custom Tabs उपयोगकर्ता प्रमाणीकरण के लिए एक सुरक्षित और पृथक स्थान प्रदान करते हैं, यह सुनिश्चित करते हुए कि संवेदनशील उपयोगकर्ता क्रेडेंशियल्स सुरक्षित हैं और अनजाने में ऐप या अन्य वेबसाइटों के साथ साझा नहीं किए जाते हैं।
वे Apple और Google के कड़े सुरक्षा प्रोटोकॉल का पालन करते हैं, यह सुनिश्चित करते हुए कि उपयोगकर्ता डेटा सुरक्षित रूप से संभाला जाता है और गोपनीयता बनाए रखी जाती है।
इसके अलावा, यह डिज़ाइन विकल्प Safari और Chrome के चल रहे सुरक्षा अपडेट और संवर्द्धन से लाभान्वित होता है, यह सुनिश्चित करता है कि यह नवीनतम सुरक्षा मानकों और प्रोटोकॉल का पालन करता है।
iOS पर SFAuthenticationSession / ASWebAuthenticationSession और Android पर Chrome Custom Tabs एक सुसंगत और परिचित उपयोगकर्ता इंटरफ़ेस प्रदान करते हैं, क्योंकि उपयोगकर्ता ब्राउज़र के उपयोगकर्ता अनुभव के आदी हैं। इसके अलावा, Safari और Chrome की उपयोगकर्ता सेटिंग्स और प्राथमिकताएँ लागू होती हैं।
यह ऐप सामग्री और वेब सामग्री के बीच एक सहज संक्रमण प्रदान करता है, यह सुनिश्चित करता है कि उपयोगकर्ता इंटरफेस के बीच बदलाव से परेशान न हों।
Chrome Custom Tabs Chrome के प्रदर्शन का लाभ उठाते हैं, एक सहज और उत्तरदायी उपयोगकर्ता अनुभव सुनिश्चित करते हैं, जो उपयोगकर्ता की निराशा या परित्याग को रोकने के लिए प्रमाणीकरण प्रक्रियाओं के दौरान विशेष रूप से महत्वपूर्ण है।
CCT का प्रदर्शन अक्सर Android WebView विकल्पों से बेहतर होता है (iOS पर SFAuthenticationSession / ASWebAuthenticationSession के साथ भी ऐसा ही है), यह सुनिश्चित करता है कि वेब सामग्री और प्रमाणीकरण प्रवाह तेजी से और सुचारू रूप से संभाले जाते हैं।
Chrome Custom Tabs, Android WebView और मानक Chrome ब्राउज़र के बीच प्रदर्शन अंतर को महसूस करने के लिए Google द्वारा यह तुलना भी देखें।
SFAuthenticationSession / ASWebAuthenticationSession विशेष रूप से OAuth / OpenID Connect-आधारित प्रमाणीकरण प्रवाह को संभालने के लिए डिज़ाइन किया गया है, जो इन व्यापक रूप से उपयोग किए जाने वाले प्रमाणीकरण प्रोटोकॉल के लिए एक सुव्यवस्थित और सुरक्षित प्रक्रिया सुनिश्चित करता है। यह WebAuthn / पासकी प्रमाणीकरण के लिए भी अनुशंसित तरीका है।
Android पर, प्रमाणीकरण प्रवाह के लिए कोई समर्पित वर्ग नहीं है, लेकिन Chrome Custom Tabs और Android App Links के साथ समान व्यवहार लागू किया जा सकता है।
इसके अलावा, हम उम्मीद करते हैं कि और अधिक ऐप्स TikTok की तरह पासकीज़ पेश करेंगे, बस उन्हें तब एकत्र करके जब उपयोगकर्ता प्रमाणित हो। यह नेटिव रूप से (TikTok का कार्यान्वयन) या वेबव्यू कार्यान्वयन के माध्यम से किया जा सकता है। एक उपयुक्त दृष्टिकोण नेटिव रूप से कंडीशनल UI को ट्रिगर करना है। यदि यह काम नहीं करता है, तो आप वेबव्यू कार्यान्वयन प्रदर्शित करते हैं।
डिजिटल प्रमाणीकरण के आधुनिक परिदृश्य में, नेटिव ऐप्स में वेबव्यू के माध्यम से पासकीज़ का कार्यान्वयन सुरक्षित और उपयोगकर्ता-अनुकूल अभ्यास के एक प्रकाश स्तंभ के रूप में उभरता है। जबकि इष्टतम वेबव्यू चुनने की यात्रा जटिल हो सकती है, उपयोगकर्ता अनुभव और सुरक्षा के साथ तकनीकी विकल्पों को संरेखित करना महत्वपूर्ण है।
Enjoyed this read?
🤝 Join our Passkeys Community
Share passkeys implementation tips and get support to free the world from passwords.
🚀 Subscribe to Substack
Get the latest news, strategies, and insights about passkeys sent straight to your inbox.
Related Articles
Cross‑Platform Passkey Sharing Guide: Flutter (iOS/Android), NextJS, Golang
Vincent - November 16, 2023
Passkey Tutorial: How to Implement Passkeys in Web Apps
Vincent - December 7, 2023
Table of Contents