FIDO2 API ช่วยให้แอปพลิเคชัน Android สร้างและใช้ข้อมูลเข้าสู่ระบบที่ใช้คีย์สาธารณะซึ่งมีความรัดกุมและได้รับการยืนยันแล้วเพื่อจุดประสงค์ในการตรวจสอบสิทธิ์ผู้ใช้ API นี้มีการใช้งานไคลเอ็นต์ WebAuthn ซึ่งรองรับการใช้เครื่องตรวจสอบสิทธิ์ BLE, NFC และโรมมิ่งแบบ USB (คีย์ความปลอดภัย) แบบ USB รวมถึงตัวตรวจสอบสิทธิ์แพลตฟอร์มซึ่งช่วยให้ผู้ใช้ตรวจสอบสิทธิ์ด้วยลายนิ้วมือหรือการล็อกหน้าจอได้
การผสานรวม
จุดแรกเข้า FIDO2 API คือ Fido2ApiClient
API รองรับการดำเนินการ 2 แบบ ดังนี้
- การลงทะเบียนจะดำเนินการ 1 ครั้งต่อบัญชี Authenticator ต่อบัญชี เมื่อผู้ใช้เชื่อมโยง Authenticator กับบัญชี
- การลงนามจะทำทุกครั้งที่ฝ่ายที่ต้องพึ่งพาต้องการตรวจสอบสิทธิ์ผู้ใช้
ทั้งการลงทะเบียนและการลงชื่อต้องมีการโต้ตอบของผู้ใช้
ดูแอปพลิเคชันตัวอย่างที่แสดงการใช้งาน API ได้ที่ https://github.com/android/identity-samples/tree/main/Fido2
ความสามารถในการทำงานร่วมกับเว็บไซต์ของคุณ
ช่วยให้ผู้ใช้แชร์ข้อมูลเข้าสู่ระบบในเว็บไซต์และแอปพลิเคชัน Android ของคุณได้อย่างราบรื่นได้ง่ายๆ โดยใช้ประโยชน์จากลิงก์เนื้อหาดิจิทัล คุณประกาศการเชื่อมโยงได้โดยการโฮสต์ไฟล์ JSON ของลิงก์เนื้อหาดิจิทัล (Digital Asset Links) ในเว็บไซต์ และเพิ่มลิงก์ไปยังไฟล์ลิงก์เนื้อหาดิจิทัล (Digital Asset Link) ลงในไฟล์ Manifest ของแอป
เช่น หากต้องการเชื่อมโยง https://example.com
กับแอป Android com.example.android
คุณต้องทำตาม 3 ขั้นตอนดังนี้
ขั้นตอนที่ 1 โฮสต์ 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"
]
}
}
]
ตรวจสอบว่าระบบทำการ Crawl ได้จาก Google และแสดงผลโดยมีส่วนหัว HTTP Content-Type: application/json
sha256_cert_fingerprints
คือลายนิ้วมือ SHA256 ของใบรับรอง App Signing ของแอป
ดูรายละเอียดเพิ่มเติมในเอกสารประกอบของ Android App Link
ขั้นตอนที่ 2 ลิงก์กับ assetlinks.json
ในแอป Android
ในแอป Android ให้เพิ่มบรรทัดต่อไปนี้ลงในไฟล์ Manifest ในส่วน <application>
<meta-data android:name="asset_statements" android:resource="@string/asset_statements" />
ขั้นตอนที่ 3 เพิ่มทรัพยากรสตริง asset_statements
ลงในไฟล์ string.xml
สตริง asset_statements
เป็นออบเจ็กต์ JSON ที่ระบุไฟล์ assetlinks.json
ที่จะโหลด คุณต้องยกเว้นเครื่องหมายอัญประกาศเดี่ยวและเครื่องหมายคำพูดที่คุณใช้ในสตริง เช่น
<string name="asset_statements" translatable="false">
[{
\"include\": \"https://example.com/.well-known/assetlinks.json\"
}]
</string>
หากต้องการดูข้อมูลเพิ่มเติมเกี่ยวกับการเชื่อมโยงแอปและเว็บไซต์ โปรดอ่านเอกสารประกอบของ SmartLock สำหรับรหัสผ่านใน Android