Webinar: Passkeys for Super Funds
Back to Overview

وسائل نقل WebAuthn: النقل الداخلي والهجين

استكشف كيفية عمل وسائل نقل WebAuthn في واجهات برمجة تطبيقات المتصفح، وخدمات المصادقة في iOS، ومدير بيانات الاعتماد في Android للمصادقة عبر الأجهزة باستخدام مفاتيح المرور.

Vincent Delitz

Vincent

Created: October 31, 2025

Updated: October 31, 2025

Blog-Post-Header-Image

See the original blog version in English here.

SpecialPromotion Icon

Passkeys for Super Funds and Financial Institutions
Join our Webinar on 7th November to learn how Super Funds and Financial Institutions can implement passkeys

Join now

التعامل مع وسائل نقل المنصة: مرجع سريع#

المنصةأدوات مصادقة المنصةمفاتيح الأمان
متصفحات الويبWindows Hello: ["internal"]
Google Password Manager: ["internal", "hybrid"]
iCloud Keychain: ["internal", "hybrid"]
["usb", "nfc"]
Android الأصلي["internal", "hybrid"]["usb", "nfc"]
iOS الأصلي⚠️ مصفوفة فارغة [] (iCloud Keychain)["usb", "nfc"]

ملاحظة: وفقًا لمواصفات WebAuthn، تعني مصفوفة وسائل النقل الفارغة أن جميع وسائل النقل مدعومة.

1. مقدمة: وسائل نقل WebAuthn للمصادقة عبر الأجهزة#

عند تطبيق مفاتيح المرور (Passkeys) عبر المنصات المختلفة، يواجه المطورون قرارًا مهمًا:

  • كيف يجب التعامل مع وسائل نقل WebAuthn، وخاصة وسائل النقل الداخلية والهجينة، لضمان أفضل تجربة مصادقة عبر الأجهزة؟

يكمن الجواب في فهم وسائل نقل WebAuthn - وهي تفصيل تقني يحدد كيفية تواصل أدوات المصادقة (authenticators) مع الأطراف المعتمدة (relying parties). على الرغم من أن وسائل النقل تبدو بسيطة نظريًا، إلا أن تطبيقها يختلف بشكل كبير عبر متصفحات الويب، وتطبيقات iOS الأصلية، وتطبيقات Android الأصلية، خاصة فيما يتعلق بالتعامل مع وسائل النقل الداخلية والهجينة.

يستعرض هذا المقال كيفية عمل وسائل نقل WebAuthn عبر المنصات المختلفة ويقدم نهجين مختلفين للتعامل مع وسائل النقل الداخلية والهجينة، ولكل منهما مزاياه وعيوبه.

يغطي هذا المقال:

  1. وسائل نقل WebAuthn: الداخلية، والهجينة، وأدوات مصادقة المنصة عبر الويب، و iOS، و Android
  2. نهجان: التعامل المتوافق مع المواصفات مقابل التعامل المحسّن لوسائل النقل الداخلية والهجينة
  3. أفضل الممارسات والتوصيات لتنفيذ المصادقة عبر الأجهزة

2. فهم وسائل نقل WebAuthn: الداخلية، والهجينة، وأدوات مصادقة المنصة#

2.1 أنواع وسائل نقل WebAuthn: الداخلية، والهجينة، وUSB، وNFC، وBLE، والبطاقات الذكية#

تُعرّف وسائل نقل WebAuthn طرق الاتصال بين أدوات المصادقة وأجهزة العميل. تحدد مواصفات WebAuthn Level 3 ستة أنواع من وسائل النقل:

usb: تستخدمها مفاتيح الأمان المادية التي تتصل عبر منافذ USB، مثل YubiKeys أو غيرها من رموز أمان FIDO2.

nfc: تتيح الاتصال مع أدوات المصادقة عبر تقنية الاتصال قريب المدى (NFC)، مما يسمح للمستخدمين بملامسة مفاتيح الأمان الخاصة بهم أو الأجهزة التي تدعم NFC.

ble: تسهل المصادقة عبر تقنية بلوتوث منخفض الطاقة (Bluetooth Low Energy)، مما يتيح الاتصال اللاسلكي مع أدوات المصادقة الخارجية.

smart-card: تُستخدم مع قارئات البطاقات الذكية، مما يسمح بالمصادقة عبر البطاقات الذكية.

hybrid: تتيح المصادقة عبر الأجهزة، حيث يقوم المستخدم عادةً بمسح رمز QR للمصادقة بين الأجهزة، مثل استخدام الهاتف للمصادقة على متصفح سطح المكتب، أو العكس. يمكن أن يؤدي هذا النقل إلى ظهور مطالبات رمز QR على كل من أجهزة سطح المكتب والأجهزة المحمولة، وهو ما قد لا يكون مرغوبًا دائمًا حسب السياق. ملاحظة: تمت إضافة hybrid في WebAuthn Level 3.

internal: تكون أداة المصادقة مدمجة داخل الجهاز نفسه، مثل iCloud Keychain (التي يتم التحقق منها عبر Face ID أو Touch ID) على أجهزة iPhone، أو Windows Hello على أجهزة الكمبيوتر، أو Google Password Manager على أجهزة Android. هذه هي أدوات مصادقة المنصة.

عند إنشاء مفتاح مرور، تُشير أداة المصادقة إلى وسائل النقل التي تدعمها. تُرسل هذه المعلومات إلى الطرف المعتمد (الواجهة الخلفية لتطبيقك)، الذي يجب أن يحتفظ بها مع بيانات الاعتماد. أثناء المصادقة، يرسل الطرف المعتمد وسائل النقل هذه مرة أخرى إلى العميل ضمن قائمة allowCredentials، مما يساعد المتصفح أو المنصة على تحديد طرق المصادقة التي سيعرضها للمستخدم.

2.2 السلوك الخاص بالمنصات#

يختلف التعامل مع وسائل النقل بشكل كبير عبر المنصات، مما يخلق تحديات التوافق التي يواجهها المطورون.

2.2.1 متصفحات الويب#

تستقبل المتصفحات معلومات وسائل النقل من أدوات المصادقة وتلتزم بها أثناء عمليات المصادقة. عند إنشاء مفتاح مرور في Chrome أو Safari أو Edge، يوفر مدير بيانات الاعتماد في المتصفح بيانات وسائل النقل التي تختلف بناءً على أداة المصادقة الأساسية:

أدوات مصادقة المنصة: يوفر Windows Hello ["internal"] فقط، مما يعكس طبيعته المرتبطة بالجهاز. ومع ذلك، عندما يستخدم Chrome مدير كلمات مرور Google كأداة مصادقة، فإنه يوفر ["internal", "hybrid"] لأن مدير كلمات مرور Google يدعم المصادقة عبر الأجهزة من خلال هواتف Android.

مفاتيح الأمان المادية: توفر وسائل نقل محددة مثل ["usb", "nfc"] بناءً على قدراتها الفعلية.

مديرو بيانات الاعتماد المتزامنة مع السحابة: يوفر iCloud Keychain في Safari ومدير كلمات مرور Google في Chrome عادةً ["internal", "hybrid"] لدعم كل من عمليات المصادقة المحلية وعبر الأجهزة.

تتدفق هذه المعلومات بشكل موثوق في سياقات الويب، على الرغم من أن وسائل النقل المحددة تعتمد على أداة المصادقة التي يختارها المتصفح لتخزين بيانات الاعتماد.

التوثيق: W3C WebAuthn Specification

2.2.2 تطبيقات Android الأصلية#

تتصرف واجهة برمجة تطبيقات مدير بيانات الاعتماد في Android بشكل مشابه لمتصفحات الويب. عند إنشاء مفاتيح مرور في تطبيقات Android الأصلية، يوفر مدير بيانات الاعتماد معلومات وسائل النقل التي تعكس سلوك الويب - حيث تبلغ أدوات مصادقة المنصة عن قدراتها بدقة، ويتعامل النظام مع بيانات وسائل النقل باستمرار. يمكن لمطوري Android الاعتماد على هذه المعلومات دون الحاجة إلى معالجة خاصة.

التوثيق: Android Credential Manager

2.2.3 تطبيقات iOS الأصلية#

يمثل iOS وضعًا أكثر تعقيدًا. يتعامل إطار عمل AuthenticationServices من Apple مع وسائل النقل بشكل مختلف اعتمادًا على نوع أداة المصادقة:

أدوات مصادقة المنصة (iCloud Keychain، التي يتم التحقق منها عبر Face ID أو Touch ID): غالبًا ما تُرجع مصفوفات وسائل نقل فارغة أثناء إنشاء مفتاح المرور. هذا لا يعني أن مفتاح المرور يفتقر إلى قدرات النقل، بل يعني ببساطة أن iOS لا يبلغ عنها بشكل صريح. وفقًا لمعيار WebAuthn، فإن عدم تحديد وسائل النقل يعني أن أي وسيلة نقل مقبولة، لذا ستظل المصادقة الهجينة تعمل.

مفاتيح الأمان: توفر معلومات وسائل النقل (مثل ["usb"]، ["nfc"]) عند استخدامها مع أجهزة iOS، متبعةً النمط المتوقع.

التوثيق: Apple AuthenticationServices

3. نهجان للتعامل مع وسائل نقل WebAuthn#

يواجه المطورون خيارًا: اتباع المواصفات بدقة، أو تحسين وسائل النقل الداخلية والهجينة لتحسين تجربة المستخدم. لكل نهج مزايا وعيوب.

3.1 النهج المتوافق مع المواصفات: الثقة بوسائل النقل الداخلية والهجينة#

يتوافق هذا النهج مع مواصفات WebAuthn: استخدام وسائل النقل تمامًا كما توفرها أداة المصادقة أثناء تسجيل بيانات الاعتماد، وإرسالها مرة أخرى دون تغيير أثناء المصادقة.

التنفيذ: عند إنشاء مفتاح مرور، احتفظ بمصفوفة transports من استجابة أداة المصادقة. أثناء المصادقة، قم بتضمين وسائل النقل هذه بالضبط في قائمة allowCredentials:

{ "allowCredentials": [ { "id": "credential-id-base64", "type": "public-key", "transports": ["internal", "hybrid"] } ] }

المزايا:

  • الامتثال للمواصفات: يتبع معايير WebAuthn بدقة، مما يضمن التوافق مع تحديثات المنصات المستقبلية.
  • موثوقية مفاتيح الأمان: يعمل بشكل مثالي مع مفاتيح الأمان المادية (YubiKeys، إلخ) التي توفر دائمًا معلومات نقل دقيقة.
  • منع الخيارات غير الصالحة: يتجنب عرض طرق المصادقة غير المدعومة حقًا - على سبيل المثال، لن يؤدي إلى تشغيل رموز QR لبيانات اعتماد Windows Hello.

العيوب:

  • سلوك المصفوفة الفارغة في iOS: تُرجع أدوات مصادقة المنصة في iOS وسائل نقل فارغة، مما يعني وفقًا للمواصفات "أي وسيلة نقل" - وهذا قد يعرض جميع خيارات المصادقة بما في ذلك مفاتيح الأمان.
  • قد يعرض خيارات غير مرغوب فيها: يمكن أن يقدم خيارات مفتاح الأمان (USB، NFC) في التطبيقات الاستهلاكية حيث لا تكون متوقعة.
  • تجربة مستخدم غير متسقة: تقدم المنصات المختلفة خيارات مصادقة مختلفة لنفس الحساب.

الأفضل لـ: التطبيقات التي تعطي الأولوية للامتثال للمعايير، وبيئات الشركات التي بها أنواع متنوعة من أدوات المصادقة.

3.2 نهج تحسين وسائل النقل: التحكم في النقل الداخلي والهجين للمصادقة عبر الأجهزة#

يعطي هذا النهج الأولوية لتجربة المستخدم من خلال التعديل الانتقائي لوسائل النقل الداخلية والهجينة بناءً على أهداف تحسين محددة. بدلاً من قاعدة شاملة، ضع في اعتبارك سيناريوهات التحسين الشائعة هذه:

3.2.1 حالة الاستخدام 1: إزالة خيارات مفتاح الأمان من مفاتيح iOS#

المشكلة: تُرجع أدوات مصادقة منصة iOS مصفوفات وسائل نقل فارغة. عند تركها فارغة أو ملؤها بواسطة الواجهات الخلفية، قد يرى المستخدمون مطالبات مفتاح الأمان (USB، NFC) جنبًا إلى جنب مع خيارات المنصة، مما يخلق ارتباكًا في التطبيقات الاستهلاكية.

الحل: اضبط وسائل النقل بشكل صريح على ["hybrid", "internal"] لأدوات مصادقة منصة iOS. هذا يضمن تقديم مصادقة المنصة والتدفقات عبر الأجهزة فقط، وإخفاء خيارات مفتاح الأمان.

// عند الاحتفاظ ببيانات اعتماد أداة مصادقة منصة iOS if (platform === "iOS" && authenticatorAttachment === "platform") { transports = ["hybrid", "internal"]; }

النتيجة: واجهة مستخدم مصادقة نظيفة بدون مطالبات مفتاح الأمان لمفاتيح المرور التي تم إنشاؤها على iOS.

3.2.2 حالة الاستخدام 2: منع رموز QR على الأجهزة المحمولة#

المشكلة: عند المصادقة على الأجهزة المحمولة، يؤدي عرض رموز QR للمصادقة عبر الأجهزة إلى تجربة مستخدم سيئة - فالمستخدمون موجودون بالفعل على جهاز محمول تتوفر فيه مفاتيح المرور الخاصة بهم.

الحل: قم بإزالة وسيلة النقل hybrid عندما يقوم المستخدم بالمصادقة من جهاز محمول، مع ترك ["internal"] فقط.

// عند بناء allowCredentials للمصادقة const transports = isMobileDevice ? credentials.transports.filter((t) => t !== "hybrid") : credentials.transports;

النتيجة: يرى مستخدمو الأجهزة المحمولة خيارات المصادقة المباشرة فقط دون مطالبات رمز QR غير الضرورية.

⚠️ تحذير: لا يؤدي التلاعب بوسائل النقل دائمًا إلى نتائج متسقة عبر المنصات. يُظهر الاختبار المكثف أن مجموعات المتصفحات وأنظمة التشغيل تتعامل مع وسائل النقل بشكل مختلف:

  • تعرض بعض المنصات رموز QR حتى عند استبعاد hybrid من وسائل النقل.
  • تخفي منصات أخرى رموز QR حتى عند تضمين hybrid.
  • يختلف السلوك بشكل كبير بين Chrome و Edge و Safari و Firefox عبر Windows و macOS و iOS.

خطر الوصول إلى طرق مسدودة: يمكن أن يؤدي التصفية المفرطة لوسائل النقل إلى إنشاء طرق مسدودة للمصادقة حيث لا يمكن للمستخدمين تسجيل الدخول على الإطلاق. على سبيل المثال، قد يؤدي إزالة hybrid إلى منع سيناريوهات المصادقة المشروعة عبر الأجهزة حيث يحتاج المستخدم إلى المصادقة من جهاز مستعار. قم دائمًا بتوفير طرق مصادقة بديلة واختبر بدقة عبر المنصات المستهدفة قبل نشر تحسينات وسائل النقل.

3.2.3 اعتبارات هامة#

هذه تلميحات للتحسين: يوفر WebAuthn آليات أخرى لتحسين تجربة مستخدم المصادقة بخلاف التلاعب بوسائل النقل - مثل التلميحات (hints).

سلوك وسائل النقل لا يمكن التنبؤ به: تُظهر المصادقة عبر الأجهزة (CDA) عبر وسيلة النقل hybrid سلوكًا غير متسق عبر مجموعات المتصفحات وأنظمة التشغيل. يُظهر الاختبار في العالم الحقيقي أن قيم وسائل النقل لا تضمن سلوكًا محددًا لواجهة المستخدم - فالمنصات تفسر وتتعامل مع وسائل النقل بشكل مختلف، مما يؤدي إلى نتائج غير متوقعة.

التعقيد الخاص بالمنصة: عند التحكم الصريح في وسائل النقل، يجب أن تأخذ في الاعتبار اختلافات المنصات:

  • iOS: يرسل مصفوفات فارغة لأدوات مصادقة المنصة؛ يتطلب ملؤها.
  • Windows Hello: يجب أن يظل ["internal"] فقط؛ إضافة hybrid يؤدي إلى ظهور رموز QR غير مرغوب فيها.
  • الويب و Android: يوفران بشكل عام معلومات نقل دقيقة.
  • تنوعات CDA: قد تظهر مطالبات رمز QR أو تختفي بغض النظر عن وجود hybrid في مصفوفة وسائل النقل.

مطلوب فهم شامل: التحكم الصريح في وسائل النقل يعني تحمل مسؤولية التدفق بأكمله. يجب أن تفهم كيف يتصرف كل مزيج من وسائل النقل عبر جميع المنصات المستهدفة وأن تختبر بدقة. يمكن أن يؤدي التلاعب بوسائل النقل إلى إنشاء طرق مسدودة للمصادقة حيث لا يوجد مسار مصادقة صالح للمستخدمين.

المزايا:

  • تجربة مستخدم مخصصة: التحكم الدقيق في خيارات المصادقة التي يراها المستخدمون في سياقات محددة.
  • حل مشكلة المصفوفة الفارغة في iOS: يحدد وسائل النقل بشكل صريح حيث لا يوفرها iOS.
  • تحسين مدرك للسياق: تكييف واجهة مستخدم المصادقة بناءً على نوع الجهاز.

العيوب:

  • سلوك لا يمكن التنبؤ به: لا يضمن التلاعب بوسائل النقل سلوكًا متسقًا لواجهة المستخدم - يُظهر الاختبار المكثف أن المنصات تفسر وسائل النقل بشكل مختلف، وأحيانًا تعرض أو تخفي الخيارات بغض النظر عن قيم وسائل النقل.
  • خطر الوصول إلى طرق مسدودة للمصادقة: يمكن أن تمنع التصفية المفرطة لوسائل النقل المستخدمين من المصادقة تمامًا، خاصة في سيناريوهات عبر الأجهزة.
  • الانحراف عن المواصفات: الابتعاد عن توصيات المواصفات، مما قد يسبب مشاكل مع تغييرات المنصات المستقبلية.
  • عبء الصيانة: يتطلب منطقًا خاصًا بالمنصة وتحديثات مستمرة مع تطور المنصات.
  • التعقيد: يجب التعامل مع مصفوفات iOS الفارغة، وقيود Windows Hello، وغيرها من خصوصيات المنصات يدويًا.
  • عبء الاختبار: تحتاج كل قاعدة تحسين إلى التحقق عبر جميع مجموعات المنصات.

الأفضل لـ: التطبيقات الاستهلاكية ذات متطلبات تجربة المستخدم المحددة، والفرق التي لديها الموارد اللازمة للحفاظ على منطق خاص بالمنصة، والسيناريوهات التي تعطي الأولوية لتدفقات المصادقة المبسطة على الامتثال الصارم للمواصفات.

3.3 استراتيجية وسائل نقل WebAuthn: أدوات مصادقة المنصة والمصادقة عبر الأجهزة#

لا يوجد التعامل مع وسائل نقل WebAuthn بمعزل عن غيره - إنه جزء من استراتيجيتك الشاملة لتطبيق مفاتيح المرور. يظهر نهجان شائعان في عمليات النشر الإنتاجية، ولكل منهما آثار مختلفة على استخدام وسائل النقل الداخلية والهجينة.

3.3.1 الاستراتيجية 1: أقصى قدر من التوافق مع المعايير وحرية المستخدم#

يعطي هذا النهج الأولوية للمرونة والامتثال للمعايير، مما يسمح للمستخدمين بالمصادقة باستخدام أي أداة مصادقة متوافقة.

خصائص التنفيذ:

  • واجهة مستخدم المصادقة: يظهر زر مفتاح المرور جنبًا إلى جنب مع خيارات تسجيل الدخول الحالية (اسم المستخدم/كلمة المرور).
  • allowCredentials: يتم تعيينها على مصفوفة فارغة []، مما يسمح بمطابقة أي بيانات اعتماد.
  • أنواع أدوات المصادقة: مفاتيح الأمان، والمصادقة عبر الأجهزة (رموز QR)، وأدوات مصادقة المنصة كلها مدعومة.
  • متطلبات التطبيق الأصلي: يجب أن يدعم جميع طرق المصادقة، بما في ذلك مفاتيح الأمان.
  • preferImmediatelyAvailableCredentials: لا يمكن استخدامها، لأنها تستبعد مفاتيح الأمان وتسجيلات الدخول برمز QR بحكم تعريفها.
  • التعامل مع وسائل النقل: يجب أن يستوعب جميع أنواع وسائل النقل، بما في ذلك وسائل نقل مفاتيح الأمان (usb، nfc، ble).

الآثار المترتبة على وسائل النقل:

مع allowCredentials الفارغة، تصبح وسائل النقل أقل أهمية أثناء المصادقة - حيث تعرض المنصة جميع الخيارات المتاحة. ومع ذلك، هذا يعني أن المستخدمين قد يرون مطالبات مفاتيح الأمان، ورموز QR، وخيارات المنصة في وقت واحد، مما قد يخلق شللاً في اتخاذ القرار في التطبيقات الاستهلاكية.

الأفضل لـ: بيئات الشركات، والتطبيقات ذات قواعد المستخدمين المتنوعة التي تتطلب دعم مفاتيح الأمان، والسيناريوهات التي تعطي الأولوية لأقصى قدر من مرونة المصادقة.

3.3.2 الاستراتيجية 2: أدوات مصادقة المنصة المخصصة للمستهلك#

يعمل هذا النهج على تحسين تجربة المستخدم للمستهلكين عن طريق قصر إنشاء مفاتيح المرور على أدوات مصادقة المنصة واستخدام تدفقات تبدأ بالمعرّف.

خصائص التنفيذ:

  • إنشاء مفتاح المرور: يُسمح فقط بأدوات مصادقة المنصة عبر authenticatorAttachment: "platform".
  • تدفق المصادقة: يبدأ بالمعرّف - يدخل المستخدمون البريد الإلكتروني/اسم المستخدم قبل المصادقة.
  • allowCredentials: يتم ملؤها ببيانات الاعتماد المحددة للمستخدم (ليست فارغة) بمجرد معرفة المعرّف.
  • أنواع أدوات المصادقة: أدوات مصادقة المنصة والمصادقة عبر الأجهزة؛ عادةً ما يتم استبعاد مفاتيح الأمان.
  • تحسين التطبيق الأصلي: يمكن استخدام preferImmediatelyAvailableCredentials، الذي يستبعد مفاتيح الأمان والمصادقة عبر الأجهزة بحكم تعريفه.
  • المصادقة عبر الأجهزة: متاحة على الويب؛ غير متاحة عند استخدام preferImmediatelyAvailableCredentials في التطبيقات الأصلية، ولكن هذا السيناريو نادر (عادةً ما يكون لدى المستخدمين مفاتيح مرور على الجهاز الذي يستخدمونه).
  • التعامل مع وسائل النقل: يركز على وسائل النقل internal و hybrid فقط.

الآثار المترتبة على وسائل النقل:

نظرًا لأن allowCredentials تحتوي على بيانات اعتماد محددة مع وسائل النقل الخاصة بها، يصبح التعامل مع وسائل النقل أمرًا بالغ الأهمية.

الأفضل لـ: التطبيقات الاستهلاكية، وتطبيقات الهاتف المحمول الأصلية، والسيناريوهات التي تعطي الأولوية لتجربة المستخدم المبسطة على مرونة أداة المصادقة، والمنصات التي توجد بها بالفعل تدفقات تبدأ بالمعرّف.

3.3.3 مصفوفة المقارنة#

الخاصيةالتوافق مع المعاييرمخصص للمستهلك
allowCredentialsمصفوفة فارغةبيانات اعتماد خاصة بالمستخدم
أنواع أدوات المصادقةالكل (منصة، مفاتيح أمان، CDA)منصة + CDA
واجهة برمجة تطبيقات التطبيق الأصليWebAuthn القياسييمكن استخدام preferImmediatelyAvailableCredentials
مفاتيح الأمانمدعومةمستبعدة عادةً
أهمية وسائل النقلمنخفضة (قائمة سماح فارغة)عالية (بيانات اعتماد محددة)
رموز QR على الهاتف المحمولقد تظهريمكن تحسينها لإزالتها
تجربة المستخدمخيارات أكثر، تعقيد أكثرمبسطة، قرارات أقل
تعقيد التنفيذأقلأعلى
احتكاك المستهلكأعلى (خيارات مصادقة متعددة)أقل (محسّنة لتدفقات المستهلك)

3.3.4 التدفقات التي تبدأ بالمعرّف وتعداد الحسابات#

بالنسبة للمنصات التي تسرب بالفعل وجود الحساب أو تستخدم تدفقات تبدأ بالمعرّف (يدخل المستخدم البريد الإلكتروني قبل رؤية خيارات تسجيل الدخول)، يتوافق النهج المخصص للمستهلك بشكل طبيعي. بمجرد أن يقدم المستخدم معرّفه:

  1. تستعلم الواجهة الخلفية عن مفاتيح المرور الموجودة.
  2. تُرجع allowCredentials مع بيانات اعتماد محددة ووسائل النقل الخاصة بها.
  3. يمكن للمنصة تحسين واجهة مستخدم المصادقة بناءً على وسائل النقل.
  4. لا يوجد خطر إضافي لتعداد الحسابات (تم تقديم المعرّف بالفعل).

في هذه السيناريوهات، يمكن أن تصبح وسائل النقل أداة تحسين بدلاً من أن تكون مصدر قلق أمني. يمكنك تخصيص خيارات المصادقة بناءً على سياق الجهاز (محمول مقابل سطح المكتب) وقدرات بيانات الاعتماد.

توصية: بالنسبة للمنصات التي تستخدم بالفعل تدفقات تبدأ بالمعرّف أو حيث لا يمثل تعداد الحسابات مصدر قلق، يوفر النهج المخصص للمستهلك مع التعامل الصريح مع وسائل النقل تجربة مستخدم متفوقة، خاصة في تطبيقات الهاتف المحمول الأصلية حيث يتيح preferImmediatelyAvailableCredentials المصادقة البيومترية السلسة.

4. أفضل ممارسات تنفيذ وسائل نقل WebAuthn#

بغض النظر عن النهج الذي تختاره للتعامل مع وسائل النقل الداخلية والهجينة، اتبع هذه الممارسات لتقليل المشكلات:

الاحتفاظ بوسائل النقل أثناء التسجيل: قم دائمًا بتخزين مصفوفة transports من استجابة أداة المصادقة جنبًا إلى جنب مع معرّف بيانات الاعتماد والمفتاح العام. هذه البيانات ضرورية لتدفقات المصادقة.

التعامل مع المصفوفات الفارغة بسلاسة: عند تلقي مصفوفة وسائل نقل فارغة من أدوات مصادقة منصة iOS:

  • النهج المتوافق مع المواصفات: اتركها فارغة أو احذف خاصية وسائل النقل - يعني أن "أي وسيلة نقل" مقبولة.
  • نهج التحسين: املأها بـ ["internal", "hybrid"] للتحكم في خيارات المصادقة التي يتم عرضها.

الاختبار على جميع المنصات المستهدفة: قم بإنشاء مصفوفة اختبار تغطي جميع المجموعات:

  • التسجيل: الويب، iOS الأصلي، Android الأصلي
  • المصادقة: الويب، iOS الأصلي، Android الأصلي
  • تحقق من ظهور رموز QR عند الحاجة وإخفائها عندما لا تكون مناسبة.

فهم الفرق بين المصفوفة الفارغة والخاصية المفقودة: عادةً ما يتم التعامل مع كل من مصفوفة وسائل النقل الفارغة [] وخاصية وسائل النقل المفقودة على أنها "أي وسيلة نقل مقبولة" وفقًا للمواصفات. ومع ذلك، تختلف تفاصيل التنفيذ عبر المنصات.

مراقبة تغييرات المنصات: تتطور تطبيقات WebAuthn باستمرار. تقوم Apple و Google و Microsoft بتحديث سلوكيات أدوات المصادقة الخاصة بهم بانتظام. ابق على اطلاع بالتغييرات التي قد تؤثر على التعامل مع وسائل النقل.

5. الخلاصة: اختيار استراتيجية وسائل نقل WebAuthn الخاصة بك#

وسائل نقل WebAuthn - وخاصة وسائل النقل الداخلية والهجينة - هي تفاصيل تقنية لها تأثير عملي كبير على المصادقة عبر الأجهزة. يجب أن تتماشى استراتيجية التعامل مع وسائل النقل الخاصة بك مع نهج تنفيذ مفاتيح المرور الأوسع والمنصات المستهدفة.

5.1 النقاط الرئيسية#

قرارات وسائل النقل تندرج ضمن استراتيجية أوسع: تعتمد كيفية تعاملك مع وسائل النقل على ما إذا كنت تبني لتحقيق أقصى قدر من المرونة (باستخدام allowCredentials فارغة) أو لتحسين تجربة المستخدم للمستهلك (باستخدام تدفق يبدأ بالمعرّف مع بيانات اعتماد محددة). هذا الأخير يجعل وسائل النقل حاسمة للتحسين.

اختلافات المنصات تتطلب معالجة: يوفر الويب و Android معلومات نقل موثوقة، بينما تُرجع أدوات مصادقة منصة iOS مصفوفات فارغة. يرسل Windows Hello فقط ["internal"]. فهم هذه الاختلافات ضروري لعمليات النشر الإنتاجية.

نهجان صالحان لوسائل النقل: النهج المتوافق مع المواصفات (الثقة بوسائل نقل أداة المصادقة) يعمل بشكل جيد لبيئات الشركات وسيناريوهات المرونة القصوى. التحكم الصريح (تحسين وسائل النقل) يناسب التطبيقات الاستهلاكية ذات التدفقات التي تبدأ بالمعرّف وتطبيقات الهاتف المحمول الأصلية.

التدفقات التي تبدأ بالمعرّف تتيح تحسين وسائل النقل: عندما يقدم المستخدمون معرّفهم أولاً، يصبح التعامل مع وسائل النقل أداة قوية لتحسين تجربة المستخدم. يمكنك منع رموز QR غير المرغوب فيها على الهاتف المحمول، وإخفاء خيارات مفاتيح الأمان، وتبسيط المصادقة - دون مخاوف إضافية بشأن تعداد الحسابات.

5.2 اختيار استراتيجيتك#

للشركات / المرونة القصوى:

  • استخدم allowCredentials فارغة لدعم جميع أنواع أدوات المصادقة.
  • ثق بوسائل النقل التي توفرها أداة المصادقة.
  • اقبل أن يرى المستخدمون المزيد من خيارات المصادقة.
  • تنفيذ أبسط، توافق أوسع.

للتطبيقات الاستهلاكية / التطبيقات الأصلية:

  • نفذ تدفق مصادقة يبدأ بالمعرّف.
  • اقتصر على أدوات مصادقة المنصة (authenticatorAttachment: "platform").
  • استخدم allowCredentials مع بيانات اعتماد محددة ووسائل نقل محسّنة.
  • قم بتمكين preferImmediatelyAvailableCredentials في التطبيقات الأصلية.
  • املأ مصفوفات iOS الفارغة بـ ["hybrid", "internal"].
  • قم بتصفية hybrid على الأجهزة المحمولة لمنع رموز QR.
  • تجربة مستخدم متفوقة مع خيارات مصادقة مبسطة.

للمنصات التي لديها بالفعل تدفقات تبدأ بالمعرّف:

  • لم يعد تعداد الحسابات مشكلة.
  • يتوافق النهج المخصص للمستهلك بشكل طبيعي مع تجربة المستخدم الحالية.
  • يوفر تحسين وسائل النقل فوائد فورية لتجربة المستخدم.
  • النهج الموصى به لمعظم التطبيقات الاستهلاكية.

5.3 توصية التنفيذ#

ابدأ بالامتثال للمواصفات، ثم قم بالتحسين بناءً على استراتيجيتك:

  1. احتفظ بوسائل النقل تمامًا كما تم استلامها أثناء التسجيل.
  2. حدد استراتيجيتك الشاملة (المرونة القصوى مقابل المخصصة للمستهلك).
  3. إذا كانت مخصصة للمستهلك: نفذ تدفقًا يبدأ بالمعرّف وقم بتحسين وسائل النقل.
  4. تعامل مع مصفوفات iOS الفارغة بشكل مناسب لاستراتيجيتك المختارة.
  5. اختبر بدقة عبر منصات الويب و iOS الأصلي و Android الأصلي.

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

Add passkeys to your app in <1 hour with our UI components, SDKs & guides.

Start Free Trial

Share this article


LinkedInTwitterFacebook

Table of Contents