FIDO2 API لنظام التشغيل Android

تسمح واجهة برمجة التطبيقات FIDO2 لتطبيقات Android بإنشاء بيانات اعتماد قوية مستندة إلى المفتاح العام ومصدَّق عليها واستخدامها بغرض مصادقة المستخدمين. تقدّم واجهة برمجة التطبيقات تنفيذ WebAuthn Client ، الذي يتيح استخدام مصادقة BLE وNFC وUSB roaming (مفاتيح الأمان) بالإضافة إلى مصادقة النظام الأساسي، التي تسمح للمستخدم بالمصادقة باستخدام بصمة إصبعه أو قفل الشاشة.

التكامل

نقطة إدخال FIDO2 API هي Fido2ApiClient.

تدعم واجهة برمجة التطبيقات عمليتين:

  • يتم التسجيل مرة واحدة لكل أداة مصادقة لكل حساب، عندما يربط المستخدم برنامج مصادقة بحساب.
  • يتم التوقيع عندما يريد الطرف الموثوق به مصادقة مستخدم.

يتطلب كل من التسجيل والتوقيع تفاعل المستخدم.

يمكن العثور على نموذج تطبيق يوضّح استخدام واجهة برمجة التطبيقات على الرابط https://github.com/android/identity-samples/tree/main/Fido2.

إمكانية التشغيل التفاعلي مع موقعك الإلكتروني

من السهل السماح للمستخدمين بمشاركة بيانات الاعتماد بسلاسة على موقعك الإلكتروني وتطبيق Android. ولإجراء ذلك، استخدِم روابط تنقل إلى مواد عرض رقمية. يمكنك الإفصاح عن عمليات الربط من خلال استضافة ملف روابط التنقل إلى مواد العرض الرقمية بتنسيق JSON على موقعك الإلكتروني، وإضافة رابط إلى ملف رابط التنقل إلى مواد العرض الرقمية في بيان تطبيقك.

على سبيل المثال، إذا أردت ربط 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 إليها وإظهارها باستخدام عنوان HTTP Content-Type: application/json.

sha256_cert_fingerprints هي الملفات المرجعية لشهادة SHA256 لشهادة توقيع تطبيقك. يمكنك الاطّلاع على مزيد من التفاصيل في مستندات Android App Links.

في تطبيق Android، أضِف السطر التالي إلى ملف البيان ضمن <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.