تسمح واجهة برمجة تطبيقات FIDO2 لتطبيقات Android بإنشاء واستخدام بيانات اعتماد عامة ومعتمدة تستند إلى مفتاح بهدف مصادقة المستخدمين. توفر واجهة برمجة التطبيقات تنفيذ برنامج WebAuthn Client الذي يتيح استخدام مُصادقات BLE وNFC ومصادقة التجوال عبر USB (مفاتيح الأمان)، بالإضافة إلى أداة مصادقة النظام الأساسي التي تسمح للمستخدم بالمصادقة باستخدام بصمة الإصبع أو قفل الشاشة.
الدمج
نقطة إدخال واجهة برمجة تطبيقات FIDO2 هي 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.
الخطوة 2: الربط بـ assetlinks.json
في تطبيق Android
في تطبيق 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.