वेबव्यू से उपयोगकर्ताओं की पुष्टि करें

इस दस्तावेज़ में, Credential Manager API को WebView का इस्तेमाल करने वाले Android ऐप्लिकेशन के साथ इंटिग्रेट करने का तरीका बताया गया है. क्रेडेंशियल मैनेजर, version 1.12.0 और इसके बाद के वर्शन में android.webkit.WebView लाइब्रेरी में मूल रूप से काम करता है.

ज़रूरी शर्तें

WebView में Credential Manager का इस्तेमाल करने के लिए, अपने ऐप्लिकेशन मॉड्यूल की बिल्ड स्क्रिप्ट में ये डिपेंडेंसी जोड़ें:

dependencies {
  implementation("androidx.credentials:credentials:1.6.0-beta02")   
  implementation("androidx.credentials:credentials-play-services-auth:1.6.0-beta02")
  implementation("androidx.webkit:webkit:1.14.0")
}

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

WebKit लाइब्रेरी का इस्तेमाल करना

WebKit लाइब्रेरी का इस्तेमाल करने के लिए, देखें कि यह सुविधा काम करती है या नहीं. इसके बाद, setWebAuthenticationSupport() को कॉल करके, इस सुविधा को चालू करें:

class WebViewActivity : ComponentActivity() {
    override fun onCreate(savedInstanceState: Bundle?) {
        super.onCreate(savedInstanceState)
        setContent {
            val url = "https://passkeys-codelab.glitch.me/"
            AndroidView(
                factory = { context ->
                    WebView(context).apply {
                        settings.javaScriptEnabled = true

                        webViewClient = WebViewClientImpl()
                    }
                },
                update = { webView ->
                    run {
                        webView.loadUrl(url)
                        if (WebViewFeature.isFeatureSupported(WebViewFeature.WEB_AUTHENTICATION)) {
                            WebSettingsCompat.setWebAuthenticationSupport(
                                webView.settings,
                                WebSettingsCompat.WEB_AUTHENTICATION_SUPPORT_FOR_APP,
                            )
                            // Check if getWebauthenticationSupport may have been disabled by the WebView.
                            Log.e(
                                "WebViewPasskeyDemo",
                                "getWebAuthenticationSupport result: " + WebSettingsCompat.getWebAuthenticationSupport(
                                    webView.settings
                                ),
                            )
                        } else {
                            Log.e("WebViewPasskeyDemo", "WebView does not support passkeys.")
                        }
                    }
                },
            )
        }
    }
}

वेब इंटिग्रेशन

वेब इंटिग्रेशन बनाने का तरीका जानने के लिए, बिना पासवर्ड के लॉगिन करने के लिए पासकी बनाना लेख पढ़ें. आपके पास डेमो साइट के सोर्स का रेफ़रंस देने का विकल्प भी है.

जांच और डिप्लॉयमेंट

पूरे फ़्लो की अच्छी तरह से जांच करें. इससे यह पुष्टि की जा सकेगी कि Android ऐप्लिकेशन, वेब पेज, और बैकएंड के बीच सही तरीके से कम्यूनिकेशन हो रहा है.

इंटिग्रेट किए गए समाधान को प्रोडक्शन में डिप्लॉय करें. साथ ही, यह पुष्टि करें कि बैकएंड, रजिस्ट्रेशन और पुष्टि करने के अनुरोधों को हैंडल कर सकता है. बैकएंड कोड को रजिस्ट्रेशन (create) और पुष्टि (get) की प्रोसेस के लिए, शुरुआती JSON जनरेट करना चाहिए. साथ ही, इसे वेब पेज से मिले जवाबों की पुष्टि और पुष्टि करने की प्रोसेस को भी मैनेज करना चाहिए.

पुष्टि करें कि लागू किया गया तरीका, यूज़र एक्सपीरियंस से जुड़े सुझावों के मुताबिक हो.