من المتطلبات الأساسية لتوفير تجربة سلسة لتسجيل الدخول باستخدام Credential Manager في تطبيقك وموقعك الإلكتروني، إنشاء ربط آمن بينهما. ويتم ذلك باستخدام ملفات Digital Asset Links التي تتيح لمقدّمي بيانات الاعتماد مشاركة بيانات الاعتماد بأمان بين تطبيقك وموقعك الإلكتروني. على سبيل المثال، يمكن لموقع إلكتروني الإعلان عن مشاركة بيانات الاعتماد مع تطبيق Android أو موقع إلكتروني آخر باستخدام ملف Digital Asset Links. يتيح استخدام Digital Asset Links للمستخدمين الاستفادة من تجربة تسجيل دخول سلسة واستخدام بيانات الاعتماد المحفوظة نفسها على التطبيقات والمواقع الإلكترونية المرتبطة.
ضبط Digital Asset Links بين تطبيقك وموقعك الإلكتروني
للسماح لمقدّمي بيانات الاعتماد باستخدام مفاتيح المرور وكلمات المرور بشكل شائع في تطبيقك وموقعك الإلكتروني، عليك إنشاء ملف روابط التنقّل إلى مواد العرض الرقمية لتطبيقك باتّباع الخطوات التالية:
1. إنشاء ملف JSON يتضمّن روابط تنقل إلى مواد عرض رقمية
أنشئ ملفًا باسم assetlinks.json بالبنية التالية:
[
{
"relation" : [
"<array_of_permissions_granted_to_app>"
],
"target" : {
"namespace" : "android_app",
"package_name" : "<android_application_package_name>",
"sha256_cert_fingerprints" : [
"<sha256_certificate_fingerprint_of_signing_key>"
]
}
}
]
relation: مصفوفة تتضمّن سلسلة واحدة أو أكثر تصف العلاقة التي يتم الإفصاح عنها. للإشارة إلى أنّ التطبيقات والمواقع الإلكترونية تشارك بيانات اعتماد تسجيل الدخول، حدِّد العلاقات التالية في مصفوفة:delegate_permission/common.handle_all_urls: تتيح هذه العلاقة استخدام روابط التطبيقات على Android، ما يسمح لتطبيق Android بمعالجة جميع عناوين URL على الويب لنطاق معيّن.delegate_permission/common.get_login_creds: تتيح هذه العلاقة مشاركة بيانات الاعتماد بين موقعك الإلكتروني وتطبيق Android.
target: عنصر يحدّد مادة العرض التي ينطبق عليها البيان.target.namespace: اضبط هذا الخيار علىandroid_app.- استخدِم القيمة
target.package_nameلتحديد اسم الحزمة المعرَّف في ملف بيان التطبيق، مثلcom.example.android.
استبدِل
sha256_cert_fingerprintsبالملفات المرجعية لمعيار SHA256 الخاص بشهادة توقيع تطبيقك. للحصول على بصمة SHA256 لتطبيقك، راجِع مقالة تحديد روابط المواقع الإلكترونية.
في ما يلي مثال على هدف تطبيق:
[
{
"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" : [
SHA_HEX_VALUE
]
}
}
]
2- استضافة ملف JSON الذي يشتمِل على روابط لمواد العرض الرقمية
استضِف ملف Digital Asset Links في الموقع التالي على نطاق تسجيل الدخول الخاص بموقعك الإلكتروني:
```none
https://domain[:optional_port]/.well-known/assetlinks.json
```
على سبيل المثال، إذا كان نطاق تسجيل الدخول هو signin.example.com، استضِف الملف على:
https://signin.example.com/.well-known/assetlinks.json.
يجب أن يكون نوع MIME لملف Digital Asset Links هو JSON. تأكَّد من أنّ الخادم يرسل عنوان Content-Type: application/json في الرد، مع ضبط حالة HTTP على 200.
3- السماح باسترداد ملف Digital Asset Links
عدِّل المضيف للسماح لمحرك بحث Google باسترداد ملف Digital Asset Links. تسمح معظم المواقع الإلكترونية لأي وكيل آلي باسترداد الملفات في المسار /.well-known/ كي تتمكّن الخدمات الأخرى من الوصول إلى البيانات الوصفية في تلك الملفات.
إذا كان لديك ملف robots.txt، اسمح لبرامج الزحف على الويب باسترداد /.well-known/assetlinks.json من خلال تعديل ملف robots.txt على النحو التالي:
User-agent: *
Allow: /.well-known/
4- تعديل ملف بيان التطبيق
في ملف بيان تطبيقك، أضِف الأسطر التالية ضمن <application>:
<meta-data android:name="asset_statements" android:resource="@string/asset_statements" />
5. إعداد روابط تنقل إلى مواد عرض رقمية لكلمات المرور
إذا كنت تستخدم "مدير بيانات الاعتماد" لكلمات المرور، عليك إكمال خطوة إضافية لإعداد روابط مواد العرض الرقمية.
أضِف عنصرًا يحدّد ملفات assetlinks.json التي سيتم تحميلها في ملف البيان. يجب استخدام حرف إلغاء مع أي علامات اقتباس مفردة أو مزدوجة تستخدمها في السلسلة
كما هو موضّح في المثال التالي:
<string name="asset_statements" translatable="false">
[{
\"include\": \"https://signin.example.com/.well-known/assetlinks.json\"
}]
</string>
يجب أن يعرض الرابط https://signin.example.com/.well-known/assetlinks.json استجابة HTTP 200 وأن يتضمّن العنوان Content-Type بالقيمة application/json.
تفشل عملية التحقّق إذا كانت الاستجابة تتضمّن عملية إعادة توجيه HTTP 301 أو 302 أو Content-Type غير JSON.
يعرض المثال التالي نموذجًا لطلب وعناوين الاستجابة المتوقّعة:
> GET /.well-known/assetlinks.json HTTP/1.1
> User-Agent: curl/7.35.0
> Host: signin.example.com
< HTTP/1.1 200 OK
< Content-Type: application/json
الخطوات التالية
بعد إضافة التبعيات اللازمة وإعداد Digital Asset Links لمفاتيح المرور، يمكنك استخدام Credential Manager لتنفيذ طرق المصادقة المتوافقة: مفاتيح المرور و"تسجيل الدخول باستخدام Google". للبدء، راجِع أدلة المطوّرين التالية:
- إعداد مفاتيح المرور باستخدام Credential Manager: تعرَّف على كيفية تنفيذ مفاتيح المرور، وهي طريقة حديثة لمصادقة المستخدمين تتسم بالأمان وسهولة الاستخدام ومقاومة التصيّد الاحتيالي.
- إعداد ميزة "تسجيل الدخول باستخدام حساب Google" من خلال "إدارة بيانات الاعتماد": يمكنك دمج ميزة "تسجيل الدخول باستخدام حساب Google" لتسهيل عملية تسجيل الدخول للمستخدمين باستخدام حساباتهم على Google.
- تحديد المشاكل الشائعة في "إدارة بيانات الاعتماد" وحلّها: تعرَّف على كيفية حلّ المشاكل الشائعة في "إدارة بيانات الاعتماد".
- دمج ميزة المصادقة في Firebase: يمكنك السماح للمستخدمين بالمصادقة باستخدام Firebase من خلال حساباتهم على Google.