FIDO2 API لنظام Android

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

دمج

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

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

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

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

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

إمكانية التشغيل البيني مع موقع الويب الخاص بك

من السهل السماح للمستخدمين بمشاركة بيانات الاعتماد بسلاسة عبر موقع الويب الخاص بك وتطبيق Android. للقيام بذلك ، استفد من روابط الأصول الرقمية . يمكنك إعلان الاقترانات من خلال استضافة ملف JSON لـ Digital Asset Links على موقع الويب الخاص بك ، وإضافة رابط إلى ملف Digital Asset Link إلى بيان التطبيق الخاص بك.

على سبيل المثال ، إذا كنت تريد ربط https://example.com com.example.android 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 .

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

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

الخطوة 3. قم بإضافة asset_statements سلسلة 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 .