تسمح واجهة برمجة تطبيقات 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".
الخطوة 2. اربط حسابك بـ "assetlinks.json
" في تطبيق 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.