تعرف على تلميحات بيانات اعتماد المفتاح العام لـ WebAuthn / تلميحات وكيل المستخدم، ومدى توفرها، وكيفية استخدامها، والقيود والتوصيات الموجودة.
Vincent
Created: August 8, 2025
Updated: August 8, 2025
See the original blog version in English here.
Our mission is to make the Internet a safer place, and the new login standard passkeys provides a superior solution to achieve that. That's why we want to help you understand passkeys and its characteristics better.
تحظى تقنية WebAuthn ومفاتيح المرور بزخم قوي وتبني متزايد. ومن وجهة نظر تقنية أيضًا، يتطور معيار WebAuthn بسرعة. تُعد تلميحات بيانات اعتماد المفتاح العام لـ WebAuthn (والتي تُسمى أيضًا تلميحات وكيل المستخدم) أحدث إضافة إلى واجهة برمجة تطبيقات مصادقة الويب، وتهدف إلى تحسين الطريقة التي يطبق بها المطورون المصادقة باستخدام مفاتيح المرور في تطبيقاتهم.
في هذا المقال، سنجيب على الأسئلة التالية:
لنبدأ بالنظر إلى الدافع أولاً.
Recent Articles
في الوقت الحاضر، هناك أماكن مختلفة يمكنك من خلالها إنشاء وتخزين مفتاح المرور:
بالنسبة للمستخدم، يمكن أن يوفر هذا مرونة وحرية في الاختيار. ومع ذلك، تتطلب بعض التطبيقات والسيناريوهات تقييد بعض هذه الخيارات، على سبيل المثال، إذا كنت ترغب في السماح فقط بـ مفاتيح الأمان المادية بسبب متطلبات الأمان المتزايدة.
للتأثير على إنشاء مفتاح المرور وتخزينه، كان لدينا خاصية authenticatorAttachment
.
تسمح خاصية authenticatorAttachment
للأطراف المعتمدة (relying parties) بتقييد المكان الذي يمكن إنشاء مفتاح المرور فيه.
تشير platform
إلى أداة مصادقة مدمجة في الجهاز الذي يشغل WebAuthn. يتواصل WebAuthn معها باستخدام طرق نقل خاصة بتلك المنصة، مثل واجهات برمجة التطبيقات الخاصة بالمنصة. يُطلق على بيانات اعتماد المفتاح العام المرتبطة بـ أداة مصادقة المنصة اسم بيانات اعتماد المنصة. من القائمة أعلاه، يمكن لمديري بيانات الاعتماد / المواقع التالية تخزين بيانات اعتماد المنصة:
ويندوز 11 و Chrome:
macOS 15 (Sequoia) و Chrome:
عند النقر على 'إلغاء'، تظهر النافذة التالية:
macOS 15 (Sequoia) و Safari:
تشير cross-platform
إلى أداة مصادقة خارجية عن الجهاز الذي يشغل WebAuthn (أداة مصادقة متنقلة) لأنه يمكن استخدامها عبر أجهزة متعددة. يتفاعل WebAuthn معها باستخدام بروتوكولات نقل عبر المنصات مثل Bluetooth أو NFC. يُطلق على بيانات اعتماد المفتاح العام المرتبطة بأداة مصادقة متنقلة اسم بيانات اعتماد متنقلة. من القائمة أعلاه، يمكن لمديري بيانات الاعتماد / المواقع التالية تخزين بيانات اعتماد عبر المنصات:
ويندوز 11 و Chrome:
macOS 15 (Sequoia) و Chrome:
macOS 15 (Sequoia) و Safari:
يشير غير محدد إلى أنه يمكن استخدام إما أداة مصادقة المنصة أو أداة مصادقة عبر المنصات. هنا، يمكن للمستخدم اختيار المكان الذي يرغب في تخزين مفاتيح المرور فيه.
ويندوز 11 و Chrome:
macOS 15 (Sequoia) و Chrome:
macOS 15 (Sequoia) و Safari:
عند النقر على 'إلغاء'، تظهر النافذة التالية:
تم استخدام authenticatorAttachment لبعض الوقت. ومع ذلك، كانت أيضًا غير مرنة فيما يتعلق بالتطورات الجديدة مثل المصادقة عبر الأجهزة (عبر رموز QR و Bluetooth). هنا، يتم تخزين مفتاح المرور أيضًا على سبيل المثال في مدير كلمات مرور Google (بيانات اعتماد المنصة) ولكن يتم تشغيله باستخدام cross-platform
من قبل الطرف المعتمد. إلى جانب ذلك، كان التحكم من قبل الطرف المعتمد للتأثير على نوع مفتاح المرور الذي يجب استخدامه في عملية تسجيل الدخول (وليس التسجيل) يمكن أن يتم فقط عن طريق تعديل قيمة transports
لبيانات الاعتماد.
وهنا يأتي دور تلميحات بيانات اعتماد المفتاح العام لـ WebAuthn.
تلميحات بيانات اعتماد المفتاح العام لـ WebAuthn هي معلمة جديدة تم تقديمها في واجهة برمجة تطبيقات مصادقة الويب (رسميًا في WebAuthn المستوى 3). إنها توفر إرشادات للمتصفحات حول نوع أداة المصادقة التي من المحتمل أن يستخدمها المستخدم أثناء عملية المصادقة. يساعد هذا في تقديم تجربة مستخدم أكثر سلاسة وبديهية من خلال تركيز واجهة المستخدم للمتصفح على الخيارات الأكثر صلة.
الأنواع الثلاثة من التلميحات
تأتي التلميحات في ثلاثة أنواع:
security-key
: يشير إلى أنه من المتوقع أن يستخدم المستخدم مفتاح أمان مادي (مثل YubiKey).client-device
: يقترح أن المستخدم سيستخدم أداة مصادقة منصة متصلة بجهاز العميل (مثل Touch ID على macOS، أو Face ID على iOS، أو Windows Hello على ويندوز).hybrid
: يعني أن المستخدم قد يستخدم هاتفًا ذكيًا أو جهازًا لوحيًا للمصادقة عبر الأجهزة عبر رمز QR و Bluetooth.هذه التلميحات ليست متطلبات صارمة من الطرف المعتمد ولكنها بمثابة إرشادات لتحسين تجربة المستخدم كتلميحات للمتصفح.
فيما يلي، سترى لقطات شاشة لنظام macOS Sequoia (Edge + Chrome) وويندوز 10 (Chrome) مع عدم تحديد authenticatorAttachment وتعيين تلميح وكيل المستخدم لـ WebAuthn على security-key
.
هنا، نرى قيدًا آخر، وهو أن تلميح security-key
لا يتم احترامه على ويندوز 10، على الأقل ليس بشكل مباشر. التدفق هو نفسه بشكل أساسي لتدفق تلميح client-device
.
عند النقر على 'إلغاء'، تظهر النافذة التالية:
فيما يلي، سترى لقطات شاشة لنظام macOS Sequoia (Edge + Chrome) وويندوز 10 (Chrome) مع عدم تحديد authenticatorAttachment وتعيين تلميح وكيل المستخدم لـ WebAuthn على client-device
.
عند النقر على 'إلغاء'، تظهر النافذة التالية:
عند النقر على 'إلغاء'، تظهر النافذة التالية:
عند النقر على 'إلغاء'، تظهر النافذة التالية:
فيما يلي، سترى لقطات شاشة لنظام macOS Sequoia (Edge + Chrome) وويندوز 10 (Chrome) مع عدم تحديد authenticatorAttachment وتعيين تلميح وكيل المستخدم لـ WebAuthn على hybrid
.
مع إدخال التلميحات، يمكن للمطورين الآن توفير مصفوفة من التفضيلات بترتيب تنازلي حسب الأولوية، مما يوفر مرونة أكبر.
يخبر مقتطف الشفرة أدناه المتصفح أنه من المحتمل أن يقوم المستخدم بالمصادقة باستخدام مفتاح أمان مادي، مع تركيز واجهة المستخدم وفقًا لذلك.
للتوافق مع وكلاء المستخدم الأقدم، عند استخدام هذا التلميح في PublicKeyCredentialCreationOptions، يجب تعيين authenticatorAttachment إلى cross-platform
.
const credential = await navigator.credentials.create({ publicKey: { challenge: /* your challenge here */, hints: ['security-key'], authenticatorSelection: { authenticatorAttachment: 'cross-platform' } } });
يعتبر تلميح security
ذا قيمة خاصة في حالات الضمان العالي حيث يرغب موقع الويب / الطرف المعتمد في السماح فقط بـ مفاتيح الأمان المادية ويدفع المستخدم في هذا الاتجاه.
في هذا المثال، يقترح التلميح أن المستخدم قد يستخدم أداة مصادقة المنصة المدمجة في الجهاز الحالي.
للتوافق مع وكلاء المستخدم الأقدم، عند استخدام هذا التلميح في PublicKeyCredentialCreationOptions، يجب تعيين authenticatorAttachment إلى platform
.
const credential = await navigator.credentials.create({ publicKey: { challenge: /* your challenge here */, residentKey: true, hints: ['client-device'], authenticatorSelection: { authenticatorAttachment: 'platform' } } });
يعد تعيين تلميح client-device
مفيدًا إذا كان هناك العديد من مفاتيح المرور المرتبطة بحساب مستخدم وكان بعضها متاحًا على الجهاز الذي يقوم بتسجيل الدخول، بينما يتم تخزين البعض الآخر على أجهزة مختلفة. إذا اكتشف النظام (ذكاء مفاتيح المرور) أن المستخدم الذي يحاول تسجيل الدخول لديه باحتمالية عالية مفتاح مرور محلي متاح، فيمكن تعيين هذا التلميح في PublicKeyCredentialRequestOptions مما يوفر على المستخدم نقرة واحدة لتحديد مفتاح المرور الصحيح.
في هذا المثال، يقترح التلميح أن المستخدم قد يستخدم هاتفًا ذكيًا أو جهازًا مشابهًا للمصادقة.
للتوافق مع وكلاء المستخدم الأقدم، عند استخدام هذا التلميح في PublicKeyCredentialCreationOptions، يجب تعيين authenticatorAttachment إلى cross-platform
.
const credential = await navigator.credentials.create({ publicKey: { challenge: /* your challenge here */, residentKey: true, hints: ['hybrid'], authenticatorSelection: { authenticatorAttachment: 'cross-platform' } } });
يمكن أن يكون تلميح hybrid
مفيدًا إذا كان لدى المستخدم مفاتيح متعددة ويكتشف النظام (ذكاء مفاتيح المرور) أنه على الجهاز الحالي، من المحتمل عدم توفر مفتاح مرور محلي. لتحسين تجربة المستخدم وتوفير نقرة واحدة، يمكنك تعيين تلميح وكيل المستخدم لـ WebAuthn هذا ومطالبة المستخدم مباشرة بالمصادقة عبر الأجهزة (عبر رمز QR و Bluetooth). علاوة على ذلك، إذا كنت تحاول بناء نظام مفاتيح مرور يعطي الأولوية للجوال، فإن تعيين هذا التلميح أمر منطقي للغاية.
لتجربة الخيارات المختلفة بنفسك، نوصي بإلقاء نظرة على Passkeys Debugger.
من الأهمية بمكان فهم كيفية تفاعل تلميحات بيانات اعتماد المفتاح العام لـ WebAuthn مع معلمات WebAuthn الأخرى مثل authenticatorAttachment و credential transports.
أولاً، من المهم ملاحظة أن هذه التلميحات ليست متطلبات صارمة. فهي لا تلزم وكيل المستخدم (المتصفح) ولكنها بمثابة إرشادات لتوفير أفضل تجربة من خلال الاستفادة من المعلومات السياقية التي لديك حول الطلب. هذا يعني أن المتصفحات قد تختار النظر في التلميحات ولكنها ليست ملزمة باتباعها بصرامة.
يتم توفير التلميحات كمصفوفة بترتيب تنازلي حسب الأفضلية. يحدد هذا الترتيب كيف يجب على المتصفح تحديد أولوياتها:
مثال:
hints: ['security-key', 'hybrid', 'client-device']
في هذه المصفوفة:
يمكن أن تتعارض التلميحات مع المعلومات الواردة في authenticatorAttachment و credential transports. عندما يحدث هذا، تكون الأسبقية للتلميحات. يوفر هذا مرونة أكبر مقارنة بالاستخدام الصارم السابق لـ authenticatorAttachment، الذي كان يحد من أداة المصادقة إما إلى platform
أو cross-platform
.
مثال مع معلمات متناقضة:
const credential = await navigator.credentials.create({ publicKey: { challenge: /* your challenge here */, hints: ['hybrid'], authenticatorSelection: { authenticatorAttachment: 'platform' // Contradicts the hint } } });
في هذه الحالة:
platform
، والذي يحد عادةً من أدوات المصادقة إلى جهاز العميل.حاليًا، تتوفر تلميحات بيانات اعتماد المفتاح العام لـ WebAuthn فقط في Chrome (منذ الإصدار 128). حتى الآن، أشار Edge و Safari إلى خطط لدمج هذه الميزة، بينما لم يؤكد Firefox بعد جدوله الزمني للإصدار.
المتصفح | Chrome | Edge | Safari | Firefox |
---|---|---|---|---|
التوفر | ✅ منذ الإصدار 128 | ✅ منذ الإصدار 128 | مخطط له | غير متاح |
من المهم أن نتذكر أنه في Chrome، لا يزال يتم احترام معلمة authenticatorAttachment في الوقت الحالي. هذا يعني أن authenticatorAttachment اليوم هو العامل الحاسم، بغض النظر عن التلميح الذي تم تعيينه. ومع ذلك، نتوقع أنه في إصدارات Chrome المستقبلية، ستصبح تلميحات بيانات اعتماد المفتاح العام هي النهج المفضل والوحيد.
على الرغم من أن أحدث إصدار من Chrome يدعم تلميحات وكيل المستخدم لـ WebAuthn، إلا أن هذه التلميحات لا يتم احترامها من قبل ويندوز 11 و Windows Hello / أمان Windows. السبب الأساسي هو أن واجهة المستخدم يتم التحكم فيها بواسطة نظام التشغيل (Windows Hello / أمان Windows) نفسه.
علاوة على ذلك، بالنسبة لمفتاح المرور الذي يتم تخزينه في مدير كلمات مرور Google ومزامنته مع ويندوز 11، لا يتم احترام تلميحات وكيل المستخدم لـ WebAuthn، حيث أن المصادقة المحلية النهائية على ويندوز 11 تحدث باستخدام Windows Hello / أمان Windows. مع المزامنة القادمة لمفاتيح المرور على ويندوز 11 عبر حسابات Microsoft، نتوقع أيضًا تحسينات لـ ويندوز 11 وتلميحات وكيل المستخدم لـ WebAuthn.
على ويندوز 10، يتم احترام تلميحات وكيل المستخدم لـ WebAuthn، حيث يتم التعامل مع واجهة مستخدم WebAuthn بواسطة Chrome وليس بواسطة Windows Hello / أمان Windows. ومع ذلك، خلال اختباراتنا، لم نر تأثيرًا لـ security-key
. عند تعيين هذا التلميح، بدا التدفق مثل تدفق client-device
.
تجلب تلميحات بيانات اعتماد المفتاح العام لـ WebAuthn (وكيل المستخدم) مجموعة من الفوائد لكل من المطورين والمستخدمين. الميزة لا تزال جديدة ولم يتم طرحها في جميع المتصفحات وأنظمة التشغيل بعد (حتى أكتوبر 2024).
من المهم أن تكون على دراية بـ القيود الحالية التي تأتي بشكل خاص مع ويندوز 11. في ويندوز 11، يتم التعامل مع واجهة مستخدم مفتاح المرور بواسطة Windows Hello (نافذة أمان Windows Hello) وهذا يتجاوز حاليًا دعم Chrome / Edge لتلميحات وكيل المستخدم لـ WebAuthn. ينطبق هذا أيضًا على مفاتيح المرور التي تتم مزامنتها من مدير كلمات مرور Google إلى ويندوز (هنا، لا يكون للتلميحات أي تأثير بعد).
هذا يعني أن تلميحات بيانات اعتماد المفتاح العام لـ WebAuthn تعمل حقًا فقط على macOS وويندوز 10 (من بين أنظمة تشغيل سطح المكتب الرئيسية).
علاوة على ذلك، حتى أكتوبر 2024، حتى إذا تم استخدام Chrome / Edge على أنظمة التشغيل هذه، إذا تم تعيين authenticatorAttachment، فإن هذا يتجاوز أيضًا تلميحات وكيل المستخدم لـ WebAuthn (كما صرحت Google).
من منظور حالات الاستخدام، نرى حالات الاستخدام الموصى بها التالية للحصول على أقصى قيمة من هذه الميزة الجديدة.
عند بناء الواجهة الخلفية وذكاء مفاتيح المرور، حاول تضمين الاستخدام الصحيح لتلميحات بيانات اعتماد المفتاح العام لتسهيل تسجيل الدخول وتوفير النقرات غير الضرورية على المستخدم. على سبيل المثال، إذا اكتشف نظامك أن مستخدمًا يقوم بتسجيل الدخول على جهاز من المحتمل أن يكون به مفتاح مرور محلي متاح، فاستخدم تلميح client-device
.
إذا وصل المستخدم إلى موقع الويب من جهاز جديد ويعرف ذكاء مفاتيح المرور الخاص بك أنه قد يكون هناك مفتاح مرور متاح على جهاز محمول للمستخدم، فقم بتعيين التلميح إلى hybrid
، حتى يتمكن المستخدم من مسح رمز QR بسرعة والاستفادة من مفتاح المرور الهجين.
الهدف الرئيسي هنا هو توفير تجربة مستخدم أكثر سلاسة وبديهية. من خلال توجيه المتصفحات بشأن أدوات المصادقة التي من المحتمل استخدامها، يمكن للمطورين تقليل ارتباك المستخدم والاحتكاك أثناء عملية تسجيل الدخول. بدلاً من أن يغمر المستخدمون بخيارات مصادقة غير ضرورية، تسمح التلميحات للمتصفحات بالتركيز على الخيارات الأكثر صلة، مما يؤدي إلى تجربة أسرع وأكثر مباشرة.
ستجد المؤسسات عالية الضمان أو المنظمات الحكومية التي اعتمدت على مفاتيح الأمان المادية لـ مصادقة المستخدم أن تلميحات بيانات اعتماد مفتاح المرور مفيدة بشكل خاص. باستخدام تلميح security-key
، يمكنهم ضمان أن تعرض المتصفحات بشكل بارز خيار مفتاح الأمان المادي.
هذا مفيد بشكل خاص للمؤسسات الكبيرة حيث تم إصدار مفاتيح أمان مادية للموظفين وحيث لا يُسمح بأساليب المصادقة الأخرى (مثل أدوات مصادقة المنصة). يمكّن تلميح security-key
المؤسسات من تأمين تدفقات المصادقة الخاصة بها دون الحد من مرونتها للتحسينات المستقبلية.
يبرز تلميح hybrid
في السيناريوهات التي تكون فيها المصادقة عبر الأجهزة وبالتالي نهج إعطاء الأولوية للجوال مرغوبًا فيه أو عندما ينتقل المستخدمون بشكل متكرر بين الأجهزة أو المنصات.
مثال على حالة الاستخدام هذه هو تطبيق موجه للمستهلكين يتوقع أن يستخدم معظم مستخدميه هواتفهم الذكية للمصادقة، إما من خلال الطرق البيومترية أو تطبيقات المصادقة المستندة إلى الويب (مفاتيح المرور التي تعطي الأولوية للجوال). من خلال تحديد hybrid
كتلميح، يضمن المطورون أن تشجع واجهة المستخدم للمتصفح على استخدام الهاتف الذكي، مما يحسن الراحة وإمكانية الوصول.
توفر تلميحات بيانات اعتماد المفتاح العام لـ WebAuthn طريقة مرنة لتحسين تجربة المستخدم أثناء المصادقة باستخدام مفاتيح المرور. دعنا نراجع الأسئلة من المقدمة مع الأفكار التي جمعناها:
ما هي تلميحات بيانات اعتماد المفتاح العام لـ WebAuthn؟
إنها اقتراحات اختيارية يقدمها موقع الويب / التطبيق لتوجيه العملاء بشأن طريقة المصادقة الأكثر احتمالاً التي سيستخدمها المستخدم - سواء كان مفتاح أمان ماديًا أو أداة مصادقة منصة أو حلاً هجينًا مثل المصادقة عبر الأجهزة.
لماذا نحتاج إلى تلميحات بيانات اعتماد المفتاح العام لـ WebAuthn؟
إنها تبسط عملية المصادقة عن طريق تضييق الخيارات المقدمة للمستخدمين، مما يقلل من الاحتكاك / النقرات غير الضرورية ويحسن التجربة العامة.
كيف تعمل تلميحات بيانات اعتماد المفتاح العام لـ WebAuthn؟
يحدد المطورون تلميحات مثل security-key
أو client-device
أو hybrid
بناءً على السياق، مما يسمح للمتصفحات بإعطاء الأولوية لطريقة المصادقة ذات الصلة للمستخدم. في حين أن هذه التلميحات ليست متطلبات صارمة، إلا أنها تساعد في تحسين تدفق واجهة المستخدم أثناء المصادقة.
ما هي القيود وحالات الاستخدام الموصى بها؟
حاليًا، يقتصر الدعم الكامل لهذه التلميحات على Chrome و Edge، مع إظهار المتصفحات وأنظمة التشغيل الأخرى مثل ويندوز 11 مستويات متفاوتة من التوافق. تشمل حالات الاستخدام الأكثر فعالية تحسين تجربة المستخدم عند تسجيل الدخول، وفرض استخدام مفتاح الأمان المادي في البيئات عالية الأمان، وتمكين المصادقة عبر الأجهزة في التطبيقات التي تعطي الأولوية للجوال.
في الختام، تسمح تلميحات بيانات اعتماد المفتاح العام لـ WebAuthn للمطورين بإنشاء عمليات مصادقة أكثر سهولة وسلاسة للمستخدم من خلال توجيه المتصفحات إلى الخيارات الأنسب لكل سيناريو مستخدم. على الرغم من أنها لا تزال في طور التطور، إلا أن هذه الميزة يمكن أن تعزز بشكل كبير كلاً من الأمان وتجربة المستخدم في تطبيقات مفاتيح المرور.
Enjoyed this read?
🤝 Join our Passkeys Community
Share passkeys implementation tips and get support to free the world from passwords.
🚀 Subscribe to Substack
Get the latest news, strategies, and insights about passkeys sent straight to your inbox.
Related Articles
Table of Contents