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

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

الدمج

نقطة دخول 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".

في تطبيق Android، أضِف السطر التالي إلى ملف البيان ضمن <application>:

<meta-data android:name="asset_statements" android:resource="@string/asset_statements" />

الخطوة 3. إضافة مورد سلسلة asset_statements إلى ملف series.xml

السلسلة asset_statements هي كائن JSON يحدّد ملفات assetlinks.json المطلوب تحميلها. يجب تجنب أي فاصلات عليا وعلامات اقتباس تستخدمها في السلسلة. مثال:

<string name="asset_statements" translatable="false">
[{
  \"include\": \"https://example.com/.well-known/assetlinks.json\"
}]
</string>

للحصول على مزيد من المعلومات حول ربط تطبيقك بموقعك الإلكتروني، اقرأ مستندات SmartLock لكلمات المرور على Android.