المتطلّبات الأساسية

من المتطلبات الأساسية لتوفير تجربة سلسة لتسجيل الدخول باستخدام Credential Manager في تطبيقك وموقعك الإلكتروني، إنشاء ربط آمن بينهما. ويتم ذلك باستخدام ملفات Digital Asset Links التي تتيح لمقدّمي بيانات الاعتماد مشاركة بيانات الاعتماد بأمان بين تطبيقك وموقعك الإلكتروني. على سبيل المثال، يمكن لموقع إلكتروني الإعلان عن مشاركة بيانات الاعتماد مع تطبيق Android أو موقع إلكتروني آخر باستخدام ملف Digital Asset Links. يتيح استخدام Digital Asset Links للمستخدمين الاستفادة من تجربة تسجيل دخول سلسة واستخدام بيانات الاعتماد المحفوظة نفسها على التطبيقات والمواقع الإلكترونية المرتبطة.

للسماح لمقدّمي بيانات الاعتماد باستخدام مفاتيح المرور وكلمات المرور بشكل شائع في تطبيقك وموقعك الإلكتروني، عليك إنشاء ملف روابط التنقّل إلى مواد العرض الرقمية لتطبيقك باتّباع الخطوات التالية:

أنشئ ملفًا باسم 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
      ]
    }
  }
]

استضِف ملف 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. إعداد روابط تنقل إلى مواد عرض رقمية لكلمات المرور

إذا كنت تستخدم &quot;مدير بيانات الاعتماد&quot; لكلمات المرور، عليك إكمال خطوة إضافية لإعداد روابط مواد العرض الرقمية.

أضِف عنصرًا يحدّد ملفات 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". للبدء، راجِع أدلة المطوّرين التالية: