FIDO2 एपीआई की मदद से Android ऐप्लिकेशन, पुष्टि करने वाले सार्वजनिक कुंजी-आधारित क्रेडेंशियल बना सकते हैं और उनका इस्तेमाल कर सकते हैं. इनका इस्तेमाल उपयोगकर्ताओं की पुष्टि करने के लिए किया जाता है. एपीआई WebAuthn क्लाइंट लागू करने की सुविधा देता है, जिसमें BLE, NFC, और यूएसबी रोमिंग पुष्टि करने वालों (सुरक्षा कुंजियों) के साथ ही, एक प्लैटफ़ॉर्म की पुष्टि करने वाली सुविधा का भी इस्तेमाल किया जा सकता है. इसकी मदद से, उपयोगकर्ता अपने फ़िंगरप्रिंट या स्क्रीन लॉक का इस्तेमाल करके पुष्टि कर सकता है.
इंटिग्रेशन
FIDO2 एपीआई एंट्री पॉइंट Fido2ApiClient है.
एपीआई दो ऑपरेशन के साथ काम करता है:
- रजिस्ट्रेशन हर खाते की पुष्टि करने वाले के तौर पर एक बार किया जाता है. ऐसा तब किया जाता है, जब किसी उपयोगकर्ता को खाते के साथ पुष्टि करने वाला जोड़ा जाता है.
- जब भी भरोसा करने वाला पक्ष किसी उपयोगकर्ता की पुष्टि करना चाहता है, तो साइन इन किया जाता है.
रजिस्ट्रेशन और हस्ताक्षर, दोनों के लिए उपयोगकर्ता के इंटरैक्शन की ज़रूरत होती है.
एपीआई के इस्तेमाल का उदाहरण देने वाला ऐप्लिकेशन https://github.com/android/identity-sample/tree/main/Fido2 पर मिल सकता है.
आपकी वेबसाइट के साथ इंटरोऑपरेबिलिटी (दूसरे सिस्टम के साथ काम करना)
उपयोगकर्ताओं को अपनी वेबसाइट और Android ऐप्लिकेशन पर आसानी से क्रेडेंशियल शेयर करने की अनुमति देना. ऐसा करने के लिए, डिजिटल एसेट लिंक का इस्तेमाल करें. अपनी वेबसाइट पर डिजिटल एसेट लिंक JSON फ़ाइल को होस्ट करके और अपने ऐप्लिकेशन के मेनिफ़ेस्ट में डिजिटल एसेट लिंक फ़ाइल को जोड़कर असोसिएशन का एलान किया जा सकता है.
उदाहरण के लिए, अगर आपको https://example.com
को किसी Android ऐप्लिकेशन
com.example.android
से जोड़ना है, तो यहां तीन ज़रूरी चरण दिए गए हैं:
पहला चरण. अपने डोमेन पर assetlinks.json
होस्ट करें
इस तरह की JSON फ़ाइल बनाएं और https://example.com/.well-known/assetlinks.json
पर होस्ट करें.
[
{
"relation" : [
"delegate_permission/common.handle_all_urls",
"delegate_permission/common.get_login_creds"
],
"target" : {
"namespace" : "web",
"site" : "https://example.com"
}
},
{
"relation" : [
"delegate_permission/common.handle_all_urls",
"delegate_permission/common.get_login_creds"
],
"target" : {
"namespace" : "android_app",
"package_name" : "com.example.android",
"sha256_cert_fingerprints" : [
"DE:AD:BE:EF"
]
}
}
]
पक्का करें कि इसे Google से क्रॉल किया जा सकता है और यह एचटीटीपी हेडर Content-Type: application/json
के साथ दिया जाता है.
sha256_cert_fingerprints
, आपके ऐप्लिकेशन के साइनिंग सर्टिफ़िकेट का SHA256 फ़िंगरप्रिंट है.
Android ऐप्लिकेशन के लिंक से जुड़े दस्तावेज़ में ज़्यादा जानकारी पाएं.
दूसरा चरण. Android ऐप्लिकेशन में assetlinks.json
से लिंक करें
अपने Android ऐप्लिकेशन में, <application>
के तहत मेनिफ़ेस्ट फ़ाइल में यह लाइन जोड़ें:
<meta-data android:name="asset_statements" android:resource="@string/asset_statements" />
तीसरा चरण. स्ट्रिंग.xml फ़ाइल में asset_statements
स्ट्रिंग रिसॉर्स जोड़ें
asset_statements
स्ट्रिंग, एक JSON ऑब्जेक्ट है. यह assetlinks.json
फ़ाइलों को लोड करने की जानकारी देता है. आपको स्ट्रिंग में इस्तेमाल किए जाने वाले अपॉस्ट्रफ़ी (कोट) और कोटेशन मार्क
को एस्केप करना होगा. उदाहरण के लिए :
<string name="asset_statements" translatable="false">
[{
\"include\": \"https://example.com/.well-known/assetlinks.json\"
}]
</string>
अपने ऐप्लिकेशन और वेबसाइट को आपस में जोड़ने के बारे में ज़्यादा जानने के लिए, Android पर पासवर्ड के लिए SmartLock दस्तावेज़ पढ़ें.