WebView এর মাধ্যমে ব্যবহারকারীদের প্রমাণীকরণ করুন

এই ডকুমেন্টে বর্ণনা করা হয়েছে যে কীভাবে WebView ব্যবহার করে এমন একটি Android অ্যাপের সাথে Credential Manager API ইন্টিগ্রেট করা যায়। Credential Manager 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 লাইব্রেরি ব্যবহার করতে, বৈশিষ্ট্য সমর্থনের জন্য পরীক্ষা করুন, এবং তারপর 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.")
                        }
                    }
                },
            )
        }
    }
}

ওয়েব ইন্টিগ্রেশন

ওয়েব ইন্টিগ্রেশন কীভাবে তৈরি করবেন তা জানতে "পাসওয়ার্ডহীন লগইনের জন্য একটি পাসকি তৈরি করুন" দেখুন। আপনি ডেমো সাইটের উৎসও উল্লেখ করতে পারেন।

পরীক্ষা এবং স্থাপনা

অ্যান্ড্রয়েড অ্যাপ, ওয়েব পৃষ্ঠা এবং ব্যাকএন্ডের মধ্যে সঠিক যোগাযোগ যাচাই করার জন্য একটি নিয়ন্ত্রিত পরিবেশে সম্পূর্ণ প্রবাহটি পুঙ্খানুপুঙ্খভাবে পরীক্ষা করুন।

উৎপাদনে সমন্বিত সমাধান স্থাপন করুন, যাচাই করুন যে ব্যাকএন্ড আগত নিবন্ধন এবং প্রমাণীকরণ অনুরোধগুলি পরিচালনা করতে পারে। ব্যাকএন্ড কোডটি নিবন্ধন (তৈরি) এবং প্রমাণীকরণ (পান) প্রক্রিয়াগুলির জন্য প্রাথমিক JSON তৈরি করবে। এটি ওয়েব পৃষ্ঠা থেকে প্রাপ্ত প্রতিক্রিয়াগুলির বৈধতা এবং যাচাইকরণও পরিচালনা করবে।

বাস্তবায়নটি UX সুপারিশের সাথে সঙ্গতিপূর্ণ কিনা তা যাচাই করুন।