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