المصادقة على مختلف أشكال الأجهزة

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

يقدّم هذا الدليل نظرة عامة حول كيفية تنفيذ Credential Manager على أشكال أجهزة Android المختلفة، مع تسليط الضوء على الاعتبارات الرئيسية وتقديم روابط تؤدي إلى مستندات أكثر تفصيلاً.

الأجهزة الجوّالة

تمثّل الأجهزة الجوّالة، بما في ذلك الهواتف والأجهزة اللوحية والأجهزة القابلة للطي، الهدف الأكثر شيوعًا لتطوير تطبيقات Android. يتوافق التنفيذ العادي لـ Credential Manager مع هذه الأجهزة التي تتضمّن عادةً شاشات تعمل باللمس ولوحات مفاتيح على الجهاز فقط. تعد تجربة المستخدم على شكل الجهاز هذا بمثابة الأساس الذي تتكيف منه مع الآخرين. يجب أن تكون مسارات المصادقة مناسبة لشكل الجهاز وأن تستفيد من الإمكانات الكاملة لمساحة شاشة الجهاز وأساليب الإدخال.

Wear OS

تتميز أجهزة Wear OS بشاشاتها الصغيرة وإمكانية الإدخال المحدودة على الجهاز فقط. توفّر ميزة مفاتيح المرور في Credential Manager بيئة آمنة للمستخدمين لتسجيل الدخول إلى التطبيقات بدون الحاجة إلى هاتف مقترن ومتصل وبدون الحاجة إلى تذكُّر كلمة مرور.

واجهة برمجة التطبيقات لنظام التشغيل Wear OS مماثلة لواجهة برمجة التطبيقات للأجهزة الجوّالة، لذا يمكنك إعادة استخدام عملية دمج حالية للأجهزة الجوّالة. بالإضافة إلى مفاتيح المرور وميزة "تسجيل الدخول باستخدام حساب Google" وكلمات المرور من خلال واجهة برمجة التطبيقات Credential Manager، يمكنك استخدام طرق مصادقة أخرى، بما في ذلك مشاركة الرموز المميّزة لطبقة البيانات أو OAuth أو الحلول الحالية. ويمكن استخدامها كحلول احتياطية أثناء نقل المستخدمين إلى Credential Manager، أو كحل طويل الأمد في حال استخدام ميزة "مشاركة الرموز المميّزة لطبقة البيانات".

يجب استيفاء المتطلبات التالية لاستخدام Credential Manager API على Wear OS:

  • الحد الأدنى لمستوى واجهة برمجة التطبيقات: minSdkVersion 33 أو أعلى
    • يتيح استخدام كلمات المرور ومفاتيح المرور وميزة "تسجيل الدخول باستخدام حساب Google"
  • إصدار "خدمات Google للأجهزة الجوّالة": الإصدار نفسه المطلوب للتطبيقات المتوافقة مع الأجهزة الجوّالة

في ما يلي واجهة المستخدم على أجهزة Wear OS:

شاشة تسجيل الدخول باستخدام مفتاح المرور معروضة كطريقة المصادقة المفضّلة على Wear OS.
الشكل 1أ. مفاتيح المرور
خيارات مفاتيح المرور وكلمات المرور وميزة "تسجيل الدخول باستخدام حساب Google" المتاحة للمستخدم على Wear OS
الشكل 1 (ب). مفاتيح المرور وكلمات المرور و"تسجيل الدخول باستخدام حساب Google"

للحصول على إرشادات مفصّلة حول التنفيذ وعينات من التعليمات البرمجية، يُرجى الاطّلاع على المراجع التالية:

القيود

يخضع استخدام Credential Manager على Wear OS للقيود التالية:

Android XR

باستخدام Android XR (الذي يتضمّن الواقع الافتراضي والواقع المعزّز)، يتم عرض التطبيقات في مساحة ثلاثية الأبعاد. تختلف البيانات التي يُدخلها المستخدم اختلافًا جوهريًا عن تلك الموجودة في أشكال الأجهزة الأخرى، حيث تعتمد على الإدخالات الطبيعية مثل إيماءات اليد.

يتطلّب تكييف Credential Manager مع الواقع الممتد إعادة التفكير في واجهة مستخدم المصادقة (سواء باستخدام مفاتيح المرور أو كلمات المرور أو طرق تسجيل الدخول الموحّد) لمساحة ثلاثية الأبعاد. على سبيل المثال، تظهر إشعارات المصادقة في لوحات عائمة، ويختار المستخدمون الإجراءات باستخدام إيماءات اليد. عليك أيضًا مراعاة أي متطلبات أساسية خاصة بالأجهزة أو البرامج لأجهزة XR المستهدَفة.

يتمثّل أحد التحديات الأساسية في التصميم في إنشاء تجربة مصادقة سهلة وآمنة ضمن بيئة الواقع الافتراضي أو الواقع المعزّز. عليك أيضًا التفكير في كيفية إدارة الهوية في سيناريوهات XR التي تتضمّن عدة مستخدمين، حيث يمكن أن يستخدم أشخاص مختلفون الجهاز نفسه.

يتطلّب استخدام Credential Manager في Android XR ما يلي:

  • الحد الأدنى لمستوى واجهة برمجة التطبيقات: minSdkVersion 34 أو أعلى
  • إصدار "خدمات Google للأجهزة الجوّالة": الإصدار نفسه المطلوب للتطبيقات المتوافقة مع الأجهزة الجوّالة
  • المحاكي:
    • الحد الأدنى لصورة نظام المحاكي:
      • نظام التشغيل macOS: ‏ الإصدار 7 من صورة نظام Google Play XR ARM 64 v8a
      • ‫Windows: الإصدار 7 من صورة نظام Intel x86_64 Atom في Google Play XR
    • إصدارات المحاكي الأحدث من الإصدار الثابت 35.6.11

قد تظهر تجربة تسجيل الدخول على أجهزة الواقع الممتد على النحو التالي:

يظهر إشعار تسجيل الدخول في Credential Manager في لوحة عائمة ثلاثية الأبعاد في Android XR.
الشكل 2. واجهة مستخدم Credential Manager في الواقع الممتد

عمليات سير غير متوافقة مع الواقع الممتد

لا تتيح "إدارة بيانات الاعتماد" في Android XR عمليات المصادقة التي تتطلّب مسح رمز استجابة سريعة باستخدام جهاز آخر. ويمكن ملاحظة ذلك أثناء عمليات تسجيل الدخول على سماعات الرأس بنظام الواقع الممتد وعند الاختبار باستخدام المحاكي.

لمزيد من المعلومات حول الواقع الممتد، يُرجى الاطّلاع على Android XR.

Android TV

تُستخدم أجهزة Android TV عادةً بشكل جماعي، وتتم مشاهدتها من مسافة بعيدة، ويتم التنقّل فيها باستخدام أجهزة التحكّم عن بُعد التي تحتوي على لوحة تحكّم. قد يكون إدخال أسماء المستخدمين وكلمات المرور في هذه البيئة صعبًا على المستخدمين. تسهّل واجهة برمجة التطبيقات Credential Manager عملية المصادقة على Android TV من خلال إتاحة ميزة "تسجيل الدخول باستخدام حساب Google" وكلمات المرور المحفوظة ومفاتيح المرور التي تعمل من خلال جهاز آخر. بما أنّ أجهزة التلفزيون المشتركة غالبًا ما تتضمّن ملفات شخصية متعددة في حساب Google، يتكيّف Credential Manager مع هذه البيئة المشتركة من خلال جلب وعرض جميع بيانات الاعتماد المتاحة على الجهاز، بدلاً من حصر الخيارات بالحساب النشط حاليًا فقط.

طلب تسجيل الدخول من Credential Manager على Android TV يعرض الحسابات المحفوظة في "تسجيل الدخول باستخدام حساب Google" وكلمات المرور، بالإضافة إلى خيار استخدام مفتاح مرور.
الشكل 3. واجهة مستخدم Credential Manager على Android TV تعرض خيارات "تسجيل الدخول باستخدام حساب Google" وكلمات المرور المحفوظة ومفاتيح المرور

تحدّد هذه الطبيعة المشتركة أيضًا طريقة التعامل مع مفاتيح المرور. بما أنّ أجهزة التلفزيون لا تتضمّن ميزة "عامل المعرفة لقفل الشاشة" (LSKF) الشخصية، لا يتم تخزين مفاتيح المرور أو إنشاؤها مباشرةً على التلفزيون. بدلاً من ذلك، تستفيد مصادقة مفتاح المرور من مسار مختلط يعمل من خلال جهاز آخر حيث يظهر رمز الاستجابة السريعة على التلفزيون، ويمسحه المستخدم ضوئيًا باستخدام جهازه الجوّال لإكمال المصادقة بالمقاييس الحيوية.

يمكن توفير تجربة سلسة بدون نقرات على Google TV إذا تم ضبط isAutoSelectAllowed = true، ولكن فقط إذا كانت هناك بيانات اعتماد مطابقة واحدة متاحة. ستظل البطاقة السفلية الأصلية للتلفزيون تظهر، وتعرض تأكيد حساب المستخدم. إذا لم يلغِ المستخدم عملية المصادقة، سيتم إرجاع بيانات الاعتماد تلقائيًا بدون الحاجة إلى النقر عن بُعد. إذا كانت هناك بيانات اعتماد متعددة مطابقة، لن يتم اختيارها تلقائيًا، وسيُطلب من المستخدم بدلاً من ذلك الاختيار.

إذا كان تطبيقك على الأجهزة الجوّالة وتطبيق بث تلفزيوني يتشاركان اسم حزمة Android ومفتاح التوقيع نفسهما، سيتعرّف عليهما "مدير كلمات المرور في Google" على أنّهما التطبيق نفسه. لهذا السبب، يمكن عرض كلمة مرور محفوظة على جهاز جوّال مباشرةً على التلفزيون بدون الحاجة إلى ضبط إعدادات "روابط تنقل إلى مواد عرض رقمية" (asset_statements). لا تكون روابط تنقل إلى مواد عرض رقمية مطلوبة إلا عند مشاركة بيانات الاعتماد بين حدود مختلفة، مثل بين تطبيق وموقع إلكتروني، أو بين تطبيقات بأسماء حِزم مختلفة.

يتطلّب استخدام Credential Manager على Android TV ما يلي:

  • الحدّ الأدنى لمستوى واجهة برمجة التطبيقات: Android 14 (المستوى 34 لواجهة برمجة التطبيقات، minSdkVersion 34) أو الإصدارات الأحدث
  • إصدار "خدمات Google للأجهزة الجوّالة": 2026W30 أو إصدار أحدث
  • الأجهزة المطلوبة لاستخدام مفاتيح المرور: يجب توفُّر جهاز جوّال ثانوي مزوّد بكاميرا وبلوتوث لمسح رمز الاستجابة السريعة ضوئيًا وإكمال عملية المصادقة المختلطة من FIDO

القيود

بما أنّ Android TV هو جهاز مشترك، فإنّ استخدام Credential Manager على هذه المنصة يتضمّن القيود المقصودة التالية لحماية خصوصية المستخدم وأمانه:

  • عدم إنشاء مفاتيح المرور أو تخزينها على الجهاز: لا يمكن إنشاء مفاتيح المرور أو تخزينها مباشرةً على التلفزيون. بما أنّ بيانات الاعتماد المحلية غير متاحة، لا تضبط preferImmediatelyAvailableCredentials على true في طلباتك، لأنّ ذلك يؤدي إلى فلترة مفاتيح المرور التي تعمل من خلال جهاز آخر وعدم عرض بيانات الاعتماد.
  • لا يتوفّر مقدّمو خدمات بيانات الاعتماد الخارجيون: لا يتيح Android TV ميزة الملء التلقائي، لذا لا تتوفّر خدمات إدارة كلمات المرور الخارجية على المنصة. على المستخدمين استخدام "مدير كلمات المرور في Google".
  • لا تتوفّر ميزة "استعادة بيانات الاعتماد": لا تتوفّر ميزة تسجيل الدخول تلقائيًا إلى الأجهزة الجديدة باستخدام لمحة عن ميزة "استعادة بيانات الاعتماد" على Android TV.

لمزيد من المعلومات حول تطوير التطبيقات للتلفزيون، اطّلِع على نظرة عامة على Android TV.

نظام التشغيل Android Automotive

الأجهزة التي تعمل بنظام التشغيل Android Automotive‏ (AAOS) هي أنظمة مشتركة مدمجة في المركبات. يتطلّب تكييف "مدير بيانات الاعتماد" مع نظام التشغيل Android Automotive دعم المصادقة الآمنة (عادةً عندما تكون المركبة متوقفة) واستيعاب ملفات شخصية متعددة للمستخدمين على جهاز مشترك.

إذا كان تطبيقك مخصّصًا للشاشات الكبيرة أو الأجهزة اللوحية، وأردت إتاحته للسيارات، وكان متوافقًا مع Credential Manager ومفاتيح المرور على الأجهزة الجوّالة أو الأجهزة اللوحية، سيعمل على نظام التشغيل Android Automotive بدون الحاجة إلى إجراء تغييرات على مسارات المصادقة.

يتيح نظام التشغيل Android Automotive استخدام طرق المصادقة التالية:

  • مفاتيح المرور (المسار المختلط على أجهزة متعددة): يمكن للمستخدمين المصادقة باستخدام مفاتيح المرور الحالية من خلال مسار على أجهزة متعددة. يعرض النظام رمز استجابة سريعة على شاشة السيارة، ويمسحه المستخدم ضوئيًا باستخدام جهازه الجوّال. بما أنّ عملية التحقّق من المقاييس الحيوية وقفل الشاشة تتم على هاتف المستخدم، لا يحتاج المستخدمون إلى ضبط قفل الشاشة على شاشة السيارة.
  • تسجيل الدخول باستخدام حساب Google: يعرض شاشة "تسجيل الدخول باستخدام حساب Google" الأصلية مباشرةً على شاشة السيارة.
  • كلمات المرور المحفوظة: يمكن للمستخدمين استرداد كلمات المرور المحفوظة من "مدير كلمات المرور في Google" لتسجيل الدخول بدون إدخال بيانات الاعتماد يدويًا على شاشة المركبة.
يظهر طلب مفتاح المرور في Credential Manager على شاشة داخل المركبة في نظام التشغيل Android Automotive.
الشكل 5: طلب مفتاح المرور في Credential Manager على نظام التشغيل Android Automotive

يدير نظام التشغيل Android Automotive OS الجلسات وبيانات الاعتماد لكل ملف شخصي، ويعزل بيانات الجلسات الخاصة بالمستخدم بين الملفات الشخصية (على سبيل المثال، الملف الشخصي "أ" أو الملف الشخصي "ب" أو ملف الضيف).

يتطلّب استخدام Credential Manager في نظام التشغيل Android Automotive ما يلي:

  • الحد الأدنى لمستوى واجهة برمجة التطبيقات: Android 9 (المستوى 28 لواجهة برمجة التطبيقات، minSdkVersion 28) أو إصدار أحدث يتطلّب استرداد مفتاح المرور من خلال جهاز آخر استخدام الإصدار 14 من نظام التشغيل Android (المستوى 34 لواجهة برمجة التطبيقات) أو إصدار أحدث.
  • إصدار "خدمات Google للأجهزة الجوّالة": هو نفسه المطلوب للتطبيقات على الأجهزة الجوّالة.

القيود المفروضة على الاختبار

يتطلّب اختبار مفاتيح المرور استخدام جهاز فعلي يعمل بإصدار من نظام التشغيل Android Automotive كواجهة أساسية. للحصول على تعليمات الإعداد، يُرجى الاطّلاع على الاختبار باستخدام نظام التشغيل Android Automotive على Pixel Tablet. لا يمكن استخدام المحاكيات لاختبار مفاتيح المرور لأنّها لا تتيح استخدام تقنية البلوتوث منخفض الطاقة (BLE) المطلوبة لتدفق FIDO المختلط.

القيود والمسارات غير المتوافقة

يتضمّن Credential Manager على نظام التشغيل Android Automotive القيود التالية:

  • عدم تخزين مفاتيح المرور على الجهاز أو استردادها: لا يمكن استرداد مفاتيح المرور مباشرةً من الجهاز لأنّ المركبات هي أجهزة مشتركة. تؤدي مزامنة مفاتيح المرور مباشرةً مع المركبة إلى مخاطر أمنية، لذا يجب استخدام مفاتيح المرور من خلال مسار مختلط يعمل من خلال جهاز آخر.
  • بيانات الاعتماد المتاحة على الفور غير متوافقة: إذا طلب تطبيقك مفتاح مرور وضبط preferImmediatelyAvailableCredentials على true، يتم إنهاء واجهة مستخدم السيارة على الفور وعرض NoCredentialException. يجب توفير تجربة مستخدم احتياطية مناسبة لهذا السيناريو.
  • عدم توفّر موفّري بيانات اعتماد تابعين لجهات خارجية: لا تتوفّر خدمات إدارة كلمات المرور التابعة لجهات خارجية على نظام التشغيل Android Automotive. على المستخدمين استخدام "مدير كلمات المرور في Google" أو عمليات المصادقة المختلطة التي تعمل من خلال جهاز آخر لإثبات هويتهم.
  • عدم إمكانية إنشاء كلمات مرور مخزّنة: لا تتيح واجهة برمجة التطبيقات إنشاء كلمات مرور مخزّنة جديدة وحفظها مباشرةً من واجهة السيارة. يقتصر إنشاء بيانات الاعتماد على مفاتيح المرور الجديدة التي تستخدم مسار FIDO المختلط.

لمزيد من المعلومات حول تطوير تطبيقات لنظام التشغيل Automotive، يُرجى الاطّلاع على نظرة عامة على نظام التشغيل Android Automotive.

مراجع إضافية