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

Vincent
Created: October 31, 2025
Updated: October 31, 2025

See the original blog version in English here.
Passkeys for Super Funds and Financial Institutions
Join our Webinar on 7th November to learn how Super Funds and Financial Institutions can implement passkeys
| المنصة | أدوات مصادقة المنصة | مفاتيح الأمان |
|---|---|---|
| متصفحات الويب | 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، تعني مصفوفة وسائل النقل الفارغة أن جميع وسائل النقل مدعومة.
عند تطبيق مفاتيح المرور (Passkeys) عبر المنصات المختلفة، يواجه المطورون قرارًا مهمًا:
يكمن الجواب في فهم وسائل نقل WebAuthn - وهي تفصيل تقني يحدد كيفية تواصل أدوات المصادقة (authenticators) مع الأطراف المعتمدة (relying parties). على الرغم من أن وسائل النقل تبدو بسيطة نظريًا، إلا أن تطبيقها يختلف بشكل كبير عبر متصفحات الويب، وتطبيقات iOS الأصلية، وتطبيقات Android الأصلية، خاصة فيما يتعلق بالتعامل مع وسائل النقل الداخلية والهجينة.
يستعرض هذا المقال كيفية عمل وسائل نقل WebAuthn عبر المنصات المختلفة ويقدم نهجين مختلفين للتعامل مع وسائل النقل الداخلية والهجينة، ولكل منهما مزاياه وعيوبه.
Recent Articles
يغطي هذا المقال:
تُعرّف وسائل نقل 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، مما يساعد المتصفح أو المنصة على تحديد طرق المصادقة التي سيعرضها للمستخدم.
يختلف التعامل مع وسائل النقل بشكل كبير عبر المنصات، مما يخلق تحديات التوافق التي يواجهها المطورون.
تستقبل المتصفحات معلومات وسائل النقل من أدوات المصادقة وتلتزم بها أثناء عمليات المصادقة. عند إنشاء مفتاح مرور في Chrome أو Safari أو Edge، يوفر مدير بيانات الاعتماد في المتصفح بيانات وسائل النقل التي تختلف بناءً على أداة المصادقة الأساسية:
أدوات مصادقة المنصة: يوفر Windows Hello ["internal"] فقط، مما يعكس طبيعته المرتبطة بالجهاز. ومع ذلك، عندما يستخدم Chrome مدير كلمات مرور Google كأداة مصادقة، فإنه يوفر ["internal", "hybrid"] لأن مدير كلمات مرور Google يدعم المصادقة عبر الأجهزة من خلال هواتف Android.
مفاتيح الأمان المادية: توفر وسائل نقل محددة مثل ["usb", "nfc"] بناءً على قدراتها الفعلية.
مديرو بيانات الاعتماد المتزامنة مع السحابة: يوفر iCloud Keychain في Safari ومدير كلمات مرور Google في Chrome عادةً ["internal", "hybrid"] لدعم كل من عمليات المصادقة المحلية وعبر الأجهزة.
تتدفق هذه المعلومات بشكل موثوق في سياقات الويب، على الرغم من أن وسائل النقل المحددة تعتمد على أداة المصادقة التي يختارها المتصفح لتخزين بيانات الاعتماد.
التوثيق: W3C WebAuthn Specification
تتصرف واجهة برمجة تطبيقات مدير بيانات الاعتماد في Android بشكل مشابه لمتصفحات الويب. عند إنشاء مفاتيح مرور في تطبيقات Android الأصلية، يوفر مدير بيانات الاعتماد معلومات وسائل النقل التي تعكس سلوك الويب - حيث تبلغ أدوات مصادقة المنصة عن قدراتها بدقة، ويتعامل النظام مع بيانات وسائل النقل باستمرار. يمكن لمطوري Android الاعتماد على هذه المعلومات دون الحاجة إلى معالجة خاصة.
التوثيق: Android Credential Manager
يمثل iOS وضعًا أكثر تعقيدًا. يتعامل إطار عمل AuthenticationServices من Apple مع وسائل النقل بشكل مختلف اعتمادًا على نوع أداة المصادقة:
أدوات مصادقة المنصة (iCloud Keychain، التي يتم التحقق منها عبر Face ID أو Touch ID): غالبًا ما تُرجع مصفوفات وسائل نقل فارغة أثناء إنشاء مفتاح المرور. هذا لا يعني أن مفتاح المرور يفتقر إلى قدرات النقل، بل يعني ببساطة أن iOS لا يبلغ عنها بشكل صريح. وفقًا لمعيار WebAuthn، فإن عدم تحديد وسائل النقل يعني أن أي وسيلة نقل مقبولة، لذا ستظل المصادقة الهجينة تعمل.
مفاتيح الأمان: توفر معلومات وسائل النقل (مثل ["usb"]، ["nfc"]) عند استخدامها مع أجهزة iOS، متبعةً النمط المتوقع.
التوثيق: Apple AuthenticationServices
يواجه المطورون خيارًا: اتباع المواصفات بدقة، أو تحسين وسائل النقل الداخلية والهجينة لتحسين تجربة المستخدم. لكل نهج مزايا وعيوب.
يتوافق هذا النهج مع مواصفات WebAuthn: استخدام وسائل النقل تمامًا كما توفرها أداة المصادقة أثناء تسجيل بيانات الاعتماد، وإرسالها مرة أخرى دون تغيير أثناء المصادقة.
التنفيذ: عند إنشاء مفتاح مرور، احتفظ بمصفوفة transports من استجابة أداة المصادقة. أثناء المصادقة، قم بتضمين وسائل النقل هذه بالضبط في قائمة allowCredentials:
{ "allowCredentials": [ { "id": "credential-id-base64", "type": "public-key", "transports": ["internal", "hybrid"] } ] }
المزايا:
العيوب:
الأفضل لـ: التطبيقات التي تعطي الأولوية للامتثال للمعايير، وبيئات الشركات التي بها أنواع متنوعة من أدوات المصادقة.
يعطي هذا النهج الأولوية لتجربة المستخدم من خلال التعديل الانتقائي لوسائل النقل الداخلية والهجينة بناءً على أهداف تحسين محددة. بدلاً من قاعدة شاملة، ضع في اعتبارك سيناريوهات التحسين الشائعة هذه:
المشكلة: تُرجع أدوات مصادقة منصة iOS مصفوفات وسائل نقل فارغة. عند تركها فارغة أو ملؤها بواسطة الواجهات الخلفية، قد يرى المستخدمون مطالبات مفتاح الأمان (USB، NFC) جنبًا إلى جنب مع خيارات المنصة، مما يخلق ارتباكًا في التطبيقات الاستهلاكية.
الحل: اضبط وسائل النقل بشكل صريح على ["hybrid", "internal"] لأدوات مصادقة منصة iOS. هذا يضمن تقديم مصادقة المنصة والتدفقات عبر الأجهزة فقط، وإخفاء خيارات مفتاح الأمان.
// عند الاحتفاظ ببيانات اعتماد أداة مصادقة منصة iOS if (platform === "iOS" && authenticatorAttachment === "platform") { transports = ["hybrid", "internal"]; }
النتيجة: واجهة مستخدم مصادقة نظيفة بدون مطالبات مفتاح الأمان لمفاتيح المرور التي تم إنشاؤها على iOS.
المشكلة: عند المصادقة على الأجهزة المحمولة، يؤدي عرض رموز QR للمصادقة عبر الأجهزة إلى تجربة مستخدم سيئة - فالمستخدمون موجودون بالفعل على جهاز محمول تتوفر فيه مفاتيح المرور الخاصة بهم.
الحل: قم بإزالة وسيلة النقل hybrid عندما يقوم المستخدم بالمصادقة من جهاز محمول، مع ترك ["internal"] فقط.
// عند بناء allowCredentials للمصادقة const transports = isMobileDevice ? credentials.transports.filter((t) => t !== "hybrid") : credentials.transports;
النتيجة: يرى مستخدمو الأجهزة المحمولة خيارات المصادقة المباشرة فقط دون مطالبات رمز QR غير الضرورية.
⚠️ تحذير: لا يؤدي التلاعب بوسائل النقل دائمًا إلى نتائج متسقة عبر المنصات. يُظهر الاختبار المكثف أن مجموعات المتصفحات وأنظمة التشغيل تتعامل مع وسائل النقل بشكل مختلف:
hybrid من وسائل النقل.hybrid.خطر الوصول إلى طرق مسدودة: يمكن أن يؤدي التصفية المفرطة لوسائل النقل إلى إنشاء طرق مسدودة للمصادقة حيث لا يمكن للمستخدمين تسجيل الدخول على الإطلاق. على سبيل المثال، قد يؤدي إزالة hybrid إلى منع سيناريوهات المصادقة المشروعة عبر الأجهزة حيث يحتاج المستخدم إلى المصادقة من جهاز مستعار. قم دائمًا بتوفير طرق مصادقة بديلة واختبر بدقة عبر المنصات المستهدفة قبل نشر تحسينات وسائل النقل.
هذه تلميحات للتحسين: يوفر WebAuthn آليات أخرى لتحسين تجربة مستخدم المصادقة بخلاف التلاعب بوسائل النقل - مثل التلميحات (hints).
سلوك وسائل النقل لا يمكن التنبؤ به: تُظهر المصادقة عبر الأجهزة (CDA) عبر وسيلة النقل hybrid سلوكًا غير متسق عبر مجموعات المتصفحات وأنظمة التشغيل. يُظهر الاختبار في العالم الحقيقي أن قيم وسائل النقل لا تضمن سلوكًا محددًا لواجهة المستخدم - فالمنصات تفسر وتتعامل مع وسائل النقل بشكل مختلف، مما يؤدي إلى نتائج غير متوقعة.
التعقيد الخاص بالمنصة: عند التحكم الصريح في وسائل النقل، يجب أن تأخذ في الاعتبار اختلافات المنصات:
["internal"] فقط؛ إضافة hybrid يؤدي إلى ظهور رموز QR غير مرغوب فيها.hybrid في مصفوفة وسائل النقل.مطلوب فهم شامل: التحكم الصريح في وسائل النقل يعني تحمل مسؤولية التدفق بأكمله. يجب أن تفهم كيف يتصرف كل مزيج من وسائل النقل عبر جميع المنصات المستهدفة وأن تختبر بدقة. يمكن أن يؤدي التلاعب بوسائل النقل إلى إنشاء طرق مسدودة للمصادقة حيث لا يوجد مسار مصادقة صالح للمستخدمين.
المزايا:
العيوب:
الأفضل لـ: التطبيقات الاستهلاكية ذات متطلبات تجربة المستخدم المحددة، والفرق التي لديها الموارد اللازمة للحفاظ على منطق خاص بالمنصة، والسيناريوهات التي تعطي الأولوية لتدفقات المصادقة المبسطة على الامتثال الصارم للمواصفات.
لا يوجد التعامل مع وسائل نقل WebAuthn بمعزل عن غيره - إنه جزء من استراتيجيتك الشاملة لتطبيق مفاتيح المرور. يظهر نهجان شائعان في عمليات النشر الإنتاجية، ولكل منهما آثار مختلفة على استخدام وسائل النقل الداخلية والهجينة.
يعطي هذا النهج الأولوية للمرونة والامتثال للمعايير، مما يسمح للمستخدمين بالمصادقة باستخدام أي أداة مصادقة متوافقة.
خصائص التنفيذ:
[]، مما يسمح بمطابقة أي بيانات اعتماد.usb، nfc، ble).الآثار المترتبة على وسائل النقل:
مع allowCredentials الفارغة، تصبح وسائل النقل أقل أهمية أثناء المصادقة - حيث تعرض المنصة جميع الخيارات المتاحة. ومع ذلك، هذا يعني أن المستخدمين قد يرون مطالبات مفاتيح الأمان، ورموز QR، وخيارات المنصة في وقت واحد، مما قد يخلق شللاً في اتخاذ القرار في التطبيقات الاستهلاكية.
الأفضل لـ: بيئات الشركات، والتطبيقات ذات قواعد المستخدمين المتنوعة التي تتطلب دعم مفاتيح الأمان، والسيناريوهات التي تعطي الأولوية لأقصى قدر من مرونة المصادقة.
يعمل هذا النهج على تحسين تجربة المستخدم للمستهلكين عن طريق قصر إنشاء مفاتيح المرور على أدوات مصادقة المنصة واستخدام تدفقات تبدأ بالمعرّف.
خصائص التنفيذ:
authenticatorAttachment: "platform".preferImmediatelyAvailableCredentials، الذي يستبعد مفاتيح الأمان والمصادقة عبر الأجهزة بحكم تعريفه.preferImmediatelyAvailableCredentials في التطبيقات الأصلية، ولكن هذا السيناريو نادر (عادةً ما يكون لدى المستخدمين مفاتيح مرور على الجهاز الذي يستخدمونه).internal و hybrid فقط.الآثار المترتبة على وسائل النقل:
نظرًا لأن allowCredentials تحتوي على بيانات اعتماد محددة مع وسائل النقل الخاصة بها، يصبح التعامل مع وسائل النقل أمرًا بالغ الأهمية.
الأفضل لـ: التطبيقات الاستهلاكية، وتطبيقات الهاتف المحمول الأصلية، والسيناريوهات التي تعطي الأولوية لتجربة المستخدم المبسطة على مرونة أداة المصادقة، والمنصات التي توجد بها بالفعل تدفقات تبدأ بالمعرّف.
| الخاصية | التوافق مع المعايير | مخصص للمستهلك |
|---|---|---|
| allowCredentials | مصفوفة فارغة | بيانات اعتماد خاصة بالمستخدم |
| أنواع أدوات المصادقة | الكل (منصة، مفاتيح أمان، CDA) | منصة + CDA |
| واجهة برمجة تطبيقات التطبيق الأصلي | WebAuthn القياسي | يمكن استخدام preferImmediatelyAvailableCredentials |
| مفاتيح الأمان | مدعومة | مستبعدة عادةً |
| أهمية وسائل النقل | منخفضة (قائمة سماح فارغة) | عالية (بيانات اعتماد محددة) |
| رموز QR على الهاتف المحمول | قد تظهر | يمكن تحسينها لإزالتها |
| تجربة المستخدم | خيارات أكثر، تعقيد أكثر | مبسطة، قرارات أقل |
| تعقيد التنفيذ | أقل | أعلى |
| احتكاك المستهلك | أعلى (خيارات مصادقة متعددة) | أقل (محسّنة لتدفقات المستهلك) |
بالنسبة للمنصات التي تسرب بالفعل وجود الحساب أو تستخدم تدفقات تبدأ بالمعرّف (يدخل المستخدم البريد الإلكتروني قبل رؤية خيارات تسجيل الدخول)، يتوافق النهج المخصص للمستهلك بشكل طبيعي. بمجرد أن يقدم المستخدم معرّفه:
allowCredentials مع بيانات اعتماد محددة ووسائل النقل الخاصة بها.في هذه السيناريوهات، يمكن أن تصبح وسائل النقل أداة تحسين بدلاً من أن تكون مصدر قلق أمني. يمكنك تخصيص خيارات المصادقة بناءً على سياق الجهاز (محمول مقابل سطح المكتب) وقدرات بيانات الاعتماد.
توصية: بالنسبة للمنصات التي تستخدم بالفعل تدفقات تبدأ بالمعرّف أو حيث لا يمثل تعداد الحسابات مصدر قلق، يوفر النهج المخصص للمستهلك مع التعامل الصريح مع وسائل النقل تجربة مستخدم متفوقة، خاصة في تطبيقات الهاتف المحمول الأصلية حيث يتيح preferImmediatelyAvailableCredentials المصادقة البيومترية السلسة.
بغض النظر عن النهج الذي تختاره للتعامل مع وسائل النقل الداخلية والهجينة، اتبع هذه الممارسات لتقليل المشكلات:
الاحتفاظ بوسائل النقل أثناء التسجيل: قم دائمًا بتخزين مصفوفة transports من استجابة أداة المصادقة جنبًا إلى جنب مع معرّف بيانات الاعتماد والمفتاح العام. هذه البيانات ضرورية لتدفقات المصادقة.
التعامل مع المصفوفات الفارغة بسلاسة: عند تلقي مصفوفة وسائل نقل فارغة من أدوات مصادقة منصة iOS:
["internal", "hybrid"] للتحكم في خيارات المصادقة التي يتم عرضها.الاختبار على جميع المنصات المستهدفة: قم بإنشاء مصفوفة اختبار تغطي جميع المجموعات:
فهم الفرق بين المصفوفة الفارغة والخاصية المفقودة: عادةً ما يتم التعامل مع كل من مصفوفة وسائل النقل الفارغة [] وخاصية وسائل النقل المفقودة على أنها "أي وسيلة نقل مقبولة" وفقًا للمواصفات. ومع ذلك، تختلف تفاصيل التنفيذ عبر المنصات.
مراقبة تغييرات المنصات: تتطور تطبيقات WebAuthn باستمرار. تقوم Apple و Google و Microsoft بتحديث سلوكيات أدوات المصادقة الخاصة بهم بانتظام. ابق على اطلاع بالتغييرات التي قد تؤثر على التعامل مع وسائل النقل.
وسائل نقل WebAuthn - وخاصة وسائل النقل الداخلية والهجينة - هي تفاصيل تقنية لها تأثير عملي كبير على المصادقة عبر الأجهزة. يجب أن تتماشى استراتيجية التعامل مع وسائل النقل الخاصة بك مع نهج تنفيذ مفاتيح المرور الأوسع والمنصات المستهدفة.
قرارات وسائل النقل تندرج ضمن استراتيجية أوسع: تعتمد كيفية تعاملك مع وسائل النقل على ما إذا كنت تبني لتحقيق أقصى قدر من المرونة (باستخدام allowCredentials فارغة) أو لتحسين تجربة المستخدم للمستهلك (باستخدام تدفق يبدأ بالمعرّف مع بيانات اعتماد محددة). هذا الأخير يجعل وسائل النقل حاسمة للتحسين.
اختلافات المنصات تتطلب معالجة: يوفر الويب و Android معلومات نقل موثوقة، بينما تُرجع أدوات مصادقة منصة iOS مصفوفات فارغة. يرسل Windows Hello فقط ["internal"]. فهم هذه الاختلافات ضروري لعمليات النشر الإنتاجية.
نهجان صالحان لوسائل النقل: النهج المتوافق مع المواصفات (الثقة بوسائل نقل أداة المصادقة) يعمل بشكل جيد لبيئات الشركات وسيناريوهات المرونة القصوى. التحكم الصريح (تحسين وسائل النقل) يناسب التطبيقات الاستهلاكية ذات التدفقات التي تبدأ بالمعرّف وتطبيقات الهاتف المحمول الأصلية.
التدفقات التي تبدأ بالمعرّف تتيح تحسين وسائل النقل: عندما يقدم المستخدمون معرّفهم أولاً، يصبح التعامل مع وسائل النقل أداة قوية لتحسين تجربة المستخدم. يمكنك منع رموز QR غير المرغوب فيها على الهاتف المحمول، وإخفاء خيارات مفاتيح الأمان، وتبسيط المصادقة - دون مخاوف إضافية بشأن تعداد الحسابات.
للشركات / المرونة القصوى:
allowCredentials فارغة لدعم جميع أنواع أدوات المصادقة.للتطبيقات الاستهلاكية / التطبيقات الأصلية:
authenticatorAttachment: "platform").allowCredentials مع بيانات اعتماد محددة ووسائل نقل محسّنة.preferImmediatelyAvailableCredentials في التطبيقات الأصلية.["hybrid", "internal"].hybrid على الأجهزة المحمولة لمنع رموز QR.للمنصات التي لديها بالفعل تدفقات تبدأ بالمعرّف:
ابدأ بالامتثال للمواصفات، ثم قم بالتحسين بناءً على استراتيجيتك:
يستمر مشهد WebAuthn في التطور. يقوم موردو المنصات بتحديث تطبيقاتهم بانتظام، وتقدم مواصفات مثل WebAuthn Level 3 إمكانيات جديدة. يضمن بناء أنظمة مرنة توائم بين التعامل مع وسائل النقل واستراتيجية المصادقة الأوسع أن يظل تطبيق مفاتيح المرور الخاص بك قويًا ويوفر تجارب مستخدم ممتازة مع نضوج النظام البيئي.
Related Articles
Table of Contents