قد تؤدي الإعدادات الخاطئة في خوادم WebAuthn إلى مشاكل في تجربة المستخدم وتعطيل مفاتيح المرور (Passkeys) الحالية. يساعد هذا الدليل المطورين على إعداد خوادم WebAuthn.
Vincent
Created: August 20, 2025
Updated: August 21, 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.
تُحدث مفاتيح المرور (Passkeys) وبروتوكول WebAuthn الذي تقوم عليه ثورة في عالم المصادقة. ومع ذلك، قد يكون إعداد خادم WebAuthn بالطريقة الصحيحة مهمة صعبة. فالإعدادات الخاطئة لا يمكن أن تؤدي إلى ثغرات أمنية فحسب، بل قد تتسبب أيضًا في تعطيل مفاتيح المرور الحالية إذا احتجنا إلى تغييرها لاحقًا. تهدف هذه المقالة إلى مساعدتك على فهم مواصفات WebAuthn المعقدة بشكل أفضل، وتقديم النصح حول أفضل الإعدادات التي تناسب حالة استخدامك.
Recent Articles
📝
كيفية بناء أداة التحقق من بيانات الاعتماد الرقمية (دليل المطورين)
📝
كيفية بناء جهة إصدار بيانات اعتماد رقمية (دليل المطورين)
📖
المفتاح المقيم في WebAuthn: بيانات الاعتماد القابلة للاكتشاف كـ Passkeys
🔑
الوصول بالشارات المادية ومفاتيح المرور: دليل تقني
🔑
إلزامية المصادقة متعددة العوامل (MFA) والتوجه نحو مفاتيح المرور (Passkeys): أفضل الممارسات
يعمل بروتوكول WebAuthn مع ثلاثة كيانات رئيسية:
فيما يلي، نصف تدفق البيانات عالي المستوى أثناء عملية المصادقة (سواء تسجيل الدخول أو الاشتراك).
Ben Gould
Head of Engineering
I’ve built hundreds of integrations in my time, including quite a few with identity providers and I’ve never been so impressed with a developer experience as I have been with Corbado.
10,000+ devs trust Corbado & make the Internet safer with passkeys. Got questions? We’ve written 150+ blog posts on passkeys.
Join Passkeys Communityيصف تدفق العملية عالي المستوى المذكور أعلاه عمليات الاشتراك وتسجيل الدخول باستخدام WebAuthn. تم بناء مفاتيح المرور فوق WebAuthn. في الأصل، استُخدم مصطلح "Passkeys" كمصطلح أسهل في التذكر وغير تقني لوصف نفس الشيء بدلاً من WebAuthn. علاوة على ذلك، توفر مفاتيح المرور ميزات أكثر مقارنة بـ WebAuthn القياسي، مثل إمكانية مزامنة مفاتيح المرور عبر الحسابات السحابية أو مديري كلمات المرور.
لفهم الأقسام التالية بشكل أفضل، نعرّف بعض المصطلحات المهمة في بروتوكول WebAuthn للوصول إلى فهم مشترك.
المفاتيح المقيمة (RKs) والمفاتيح غير المقيمة (NRKs) هما نوعان من المفاتيح المشفرة المستخدمة في بروتوكول WebAuthn، ويختلفان بشكل أساسي في موقع تخزينهما وآلية استرجاعهما.
التعريف:
يتم تخزين المفاتيح المقيمة مباشرة على أداة المصادقة نفسها. يمكن أن يكون هذا مفتاح أمان (مثل YubiKey)، أو منطقة آمنة على المنصة (مثل Secure Enclave في iPhone)، أو وحدة منصة موثوقة (TPM) على جهاز كمبيوتر محمول. تعمل واجهة المستخدم الشرطية (الملء التلقائي لمفاتيح المرور) فقط مع المفاتيح المقيمة، وتتطلب مجموعة عمل WebAuthn حاليًا أن تكون المفاتيح مقيمة لتُعتبر كمفتاح مرور.
غالبًا ما يُطلق على المفاتيح المقيمة أيضًا اسم "بيانات اعتماد قابلة للاكتشاف"، لأن العميل يمكنه اكتشاف قائمة من المفاتيح الممكنة من أداة المصادقة التي تتطابق مع معرّف الطرف المعتمد (rpID) المعني وعرض قائمة بمعرّفات المستخدمين المخزنة الممكنة (مثل البريد الإلكتروني، أرقام الهواتف، أسماء المستخدمين) على الجهاز.
في لقطة الشاشة التالية، ترى قائمة بجميع المفاتيح المقيمة (معرّف بيانات الاعتماد، rpID، اسم المستخدم، اسم العرض) المخزنة على YubiKey. المفاتيح غير المقيمة ليست في القائمة، لأنها غير مخزنة على أداة المصادقة:
تدفق تسجيل الدخول:
المصدر: William Brown
أثناء عملية تسجيل الدخول، يرسل الطرف المعتمد طلبًا دون تحديد بيانات اعتماد إلى العميل (المتصفح) الذي يبدأ في الاستعلام من أداة المصادقة (هنا في الرسم البياني: مفتاح الأمان). تكتشف أداة المصادقة جميع المفاتيح المقيمة للطرف المعتمد المقابل ويختار العميل (المتصفح) المفتاح المقيم المطلوب. يستخدم هذا المفتاح المقيم لتوقيع التحدي. يتم إرسال التوقيع من أداة المصادقة عبر العميل إلى الطرف المعتمد.
المزايا:
العيوب:
حالات الاستخدام: مثالية للأجهزة التي يصادق عليها المستخدم بشكل متكرر، مثل الهواتف الذكية الشخصية أو أجهزة الكمبيوتر المحمولة.
التعريف:
على النقيض، لا يتم تخزين المفاتيح غير المقيمة على أداة المصادقة. بدلاً من ذلك، تقوم أداة المصادقة بإنشاء زوج مفاتيح جديد (بناءً على مفتاحها الرئيسي المحمي داخليًا) وترسل المفتاح العام لهذا الزوج الجديد إلى الخادم (الطرف المعتمد) مع معرّف بيانات الاعتماد (الذي يحتوي على بذرة) أثناء الاشتراك. يقوم الخادم بعد ذلك بربط هذا المفتاح العام بحساب المستخدم. للمصادقات اللاحقة، تعيد أداة المصادقة اشتقاق المفتاح الخاص عن طريق استلام معرّف بيانات الاعتماد، واستخراج البذرة ودمجها مع المفتاح الرئيسي. نظرًا لأن المفتاح متاح مؤقتًا فقط في الذاكرة المحمية لأداة المصادقة، يُطلق عليه أحيانًا اسم المفتاح المؤقت (ephemeral key) في لغة التشفير.
غالبًا ما يُطلق على المفاتيح غير المقيمة أيضًا اسم "بيانات اعتماد غير قابلة للاكتشاف"، لأن أداة المصادقة لا يمكنها اكتشاف / البحث عن مفاتيح لمعرّف طرف معتمد معين (rpID). بدون معرّف بيانات الاعتماد، لا تعرف أداة المصادقة حتى أنه قد يكون هناك مفتاح.
تدفق تسجيل الدخول:
المصدر: William Brown
أثناء عملية تسجيل الدخول، يجب على الطرف المعتمد أولاً تحديد المستخدم الذي يطلب المصادقة (على سبيل المثال، عن طريق طلب معرّف مستخدم، مثل البريد الإلكتروني أو رقم الهاتف أو اسم المستخدم) ثم يرسل معرّفات بيانات الاعتماد التي يعرفها للمستخدم الطالب إلى العميل (المتصفح). يقوم العميل بإعادة توجيهها إلى أداة المصادقة (هنا: مفتاح الأمان). تستخدم أداة المصادقة معرّف بيانات الاعتماد مع المفتاح الرئيسي لأداة المصادقة لاشتقاق المفتاح الخاص المؤقت، وتوقّع التحدي بالمفتاح الذي تم إنشاؤه وتعيده إلى العميل (هنا: المتصفح)، الذي يعيد توجيهه إلى الطرف المعتمد. استُخدمت المفاتيح غير المقيمة في الأصل كعامل ثانٍ قبل إدخال مفاتيح المرور. لذلك، كان تحديد المستخدم أولاً جزءًا من عملية تسجيل الدخول العادية.
المزايا:
العيوب:
حالات الاستخدام: مثالية لأدوات المصادقة المتنقلة مثل مفاتيح الأمان (مثل YubiKeys) التي تُستخدم عبر خدمات أو منصات متعددة.
تخيل أن لديك مفتاح أمان (مثل YubiKey)، وقمت بتسجيله في خدمتين عبر الإنترنت: الخدمة A والخدمة B. بالنسبة للخدمة A، تستخدم مفتاحًا مقيمًا. بالنسبة للخدمة B، تستخدم مفتاحًا غير مقيم. عندما تصادق على الخدمة A، ما عليك سوى النقر على مفتاح الأمان الخاص بك (مثل YubiKey)، وبذلك تكون قد دخلت - لا حاجة لتحديد اسم مستخدم. بالنسبة للخدمة B، ستقدم أولاً اسم المستخدم الخاص بك في المتصفح / التطبيق الأصلي. ترسل الخدمة بعد ذلك معرّف بيانات الاعتماد المرتبط إلى مفتاح الأمان الخاص بك (مثل YubiKey)، والذي يقوم بعد ذلك بإعادة إنشاء المفتاح الخاص المؤقت للمصادقة.
في جوهر الأمر، بينما يعزز كل من المفاتيح المقيمة وغير المقيمة الأمان من خلال الاستفادة من المصادقة المشفرة، تختلف تجارب المستخدم وآليات التخزين الخاصة بهما، لتلبية حالات استخدام متنوعة.
تعد واجهة المستخدم الشرطية ميزة فارقة في مفاتيح المرور / WebAuthn. إنها تخفف المزيد من العبء عن المستخدم، حيث لا يحتاج المستخدم إلى تذكر كلمة مرور فحسب، بل لا يحتاج أيضًا إلى تذكر معرّف المستخدم (مثل البريد الإلكتروني، رقم الهاتف، اسم المستخدم) الذي اشترك به في طرف معتمد. خاصة في الحالات التي يتم فيها استخدام خدمات الأطراف المعتمدة من حين لآخر، فهذه خطوة كبيرة.
يعمل هذا لأنه بمجرد فتح صفحة تسجيل الدخول، يرسل خادم الطرف المعتمد تحديًا في الخلفية إلى العميل (تذكر أنه لا يلزم إرسال معرّف بيانات الاعتماد في هذا الطلب). يأخذ العميل هذا التحدي ويتحقق من مفاتيح المرور التي تتطابق مع معرّف الطرف المعتمد على أداة المصادقة هذه ويعرض الاختيار عبر قائمة الملء التلقائي، حيث يمكن للمستخدم تحديد مفتاح المرور المناسب.
علاوة على ذلك، فإنه يوفر على المستخدم نقرة إضافية على زر تسجيل الدخول، لأنه بمجرد تحديد مفتاح المرور من قائمة الملء التلقائي، تبدأ عملية تسجيل الدخول.
واجهة المستخدم الشرطية (الملء التلقائي لمفاتيح المرور) تعمل فقط مع المفاتيح المقيمة.
CTAP هو بروتوكول أساسي في معيار FIDO2، يسد فجوة الاتصال بين العملاء (مثل المتصفحات) وأدوات المصادقة (مثل مفاتيح الأمان، على سبيل المثال YubiKeys، أو الهواتف الذكية). لفهم CTAP بشكل أفضل، دعنا نلقي نظرة سريعة أولاً على إصدارات البروتوكول المختلفة قبل تحليل التأثير على المفاتيح المقيمة وغير المقيمة.
الإصدار الأقدم، الذي يشار إليه غالبًا باسم Universal 2nd Factor (U2F)، تم تصميمه بشكل أساسي للمصادقة الثنائية. في U2F، يوفر الخادم تحديًا، وتوفر أداة المصادقة استجابة، مما يثبت حيازة المفتاح الخاص. ومع ذلك، لا يدعم U2F المفاتيح المقيمة، مما يعني أنه يتطلب دائمًا بحثًا من جانب الخادم لتحديد المفتاح الذي يجب استخدامه للمستخدم، حيث كان هذا جزءًا من العملية عند طلب عامل ثان.
قدم CTAP2، خليفة U2F، دعمًا للمفاتيح المقيمة، مما يسمح بالمصادقة بدون كلمة مرور وبدون اسم مستخدم. مع المفاتيح المقيمة، تخزن أداة المصادقة اسم المستخدم الخاص بالمستخدم ومعرّف بيانات الاعتماد (مع معرّف الطرف المعتمد)، مما يلغي حاجة خادم الطرف المعتمد لتوفيره أثناء المصادقة. هذه قفزة كبيرة نحو تجربة مستخدم أكثر سلاسة.
ومع ذلك، يأتي CTAP2 مع تحديات. إحدى المشكلات البارزة هي إدارة المفاتيح المقيمة. على سبيل المثال، يتطلب حذف مفتاح مقيم معين في جهاز CTAP2.0 غالبًا إعادة ضبط كاملة للجهاز (مما يعني أيضًا إعادة ضبط مفتاحك الرئيسي، وبالتالي لن تعمل جميع مفاتيحك غير المقيمة أيضًا)، وهو أمر غير سهل الاستخدام ويمكن أن يكون إشكاليًا في السيناريوهات التي يتم فيها تخزين مفاتيح مقيمة متعددة على جهاز واحد. هذا يجعل المفاتيح المقيمة على جهاز CTAP2.0 التزامًا جادًا. لا تريد حقًا أن تملأ عن طريق الخطأ تلك المساحة المحدودة التي غالبًا ما تكون لديك، خاصة على مفاتيح الأمان (مثل YubiKeys).
CTAP2.1 هو إصدار لاحق من CTAP2، يجلب ميزات وتحسينات إضافية على البروتوكول. بعض النقاط الرئيسية حول CTAP 2.1 تشمل:
بعد إلقاء نظرة على المفاتيح المقيمة والمفاتيح غير المقيمة وإصدارات CTAP المختلفة، نقوم الآن بتحليل جانب الطرف المعتمد وبالتالي جانب خادم WebAuthn بمزيد من العمق.
تُعزى مرونة WebAuthn (ولكن أيضًا تعقيدها) إلى حد كبير إلى إعدادات الخادم الخاصة به، لا سيما داخل كائن authenticatorSelection. يوجه هذا الكائن العميل في اختيار أداة المصادقة المناسبة للمهمة.
{ "rp": { "name": "corbado.com", "id": "corbado.com" }, "user": { "id": "dGVzdefEyMjE", "name": "test-username", "displayName": "test-username" }, "challenge": "mhanjsapJjCNaN_Ttasdfk1C0DymR-V_w_0UVOPsdfdfJG2ON_FK5-ODtqp33443tgqHzuuDjv-NUUmMAE4hg", "pubKeyCredParams": [ { "type": "public-key", "alg": -7 }, { "type": "public-key", "alg": -257 } ], "timeout": 60000, "excludeCredentials": [], "authenticatorSelection": { "authenticatorAttachment": "platform", "residentKey": "preferred", "requireResidentKey": false, "userVerification": "preferred" }, "attestation": "none", "extensions": { "credProps": true } }
authenticatorAttachment
#يحدد خيار الخادم هذا كيفية توصيل أداة المصادقة بجهاز العميل. يوفر رؤى حول كيفية تواصل أداة المصادقة مع العميل:
القيم الممكنة
حالات الاستخدام والأمثلة
residentKey
#في مواصفات WebAuthn المستوى 1، كان يسمى خيار الخادم هذا requireResidentKey
وكان يمكن أن
يحمل القيم المنطقية true
(يجب على أداة المصادقة إنشاء مفتاح مقيم) أو false
(يجب على
أداة المصادقة إنشاء مفتاح غير مقيم). استبدل
WebAuthn المستوى 2
خيار الخادم هذا بخيار الخادم الجديد residentKey
:
القيم الممكنة
حالات الاستخدام والأمثلة
userVerification
#يشير التحقق من المستخدم إلى العملية التي تضمن أن الشخص الذي يتفاعل مع أداة المصادقة هو المالك الشرعي، عادةً عن طريق طلب إيماءة مصادقة معينة مثل إدخال رقم PIN، أو تقديم بصمة إصبع، أو استخدام التعرف على الوجه.
في بعض الأحيان، يتم ذكر حضور المستخدم (UP) أو استخدامه بشكل مشابه للتحقق من المستخدم ولكن هناك بعض الاختلافات بالفعل. يؤكد حضور المستخدم فقط أن شخصًا ما - أي شخص - موجود فعليًا ويتفاعل مع الجهاز. لا يتحقق من هوية هذا الشخص. يمكن أن تكون لمسة بسيطة لمفتاح أمان، دون أي فحوصات هوية إضافية، كافية لحضور المستخدم. بالنسبة لمفاتيح المرور / WebAuthn، يجب أن يكون المستخدم حاضرًا دائمًا.
القيم الممكنة
حالات الاستخدام والأمثلة
النمط
Authenticator attachment
: platform
Resident key
: required
required
مثال: يرغب تطبيق شركة في أن يقوم الموظفون بتسجيل الدخول بدون كلمات مرور على أجهزة الكمبيوتر المحمولة التي توفرها الشركة باستخدام قارئات بصمات الأصابع المدمجة. يتم تخزين بيانات الاعتماد على الجهاز، ويجب على المستخدم التحقق ببصمة الإصبع في كل مرة.
النمط
Authenticator attachment
: cross-platform
Resident key
: required
User verification
: required
مثال: يسجل مستخدم مفتاح أمان (مثل YubiKey) لحسابه المصرفي عبر الإنترنت. يمكنه استخدام هذا المفتاح للمصادقة على أي جهاز عن طريق توفير مفتاح الأمان (مثل YubiKey)، دون الحاجة إلى إدخال اسم مستخدم.
العديد من مفاتيح الأمان القائمة على الأجهزة (مثل YubiKeys) لديها قيود تخزين متأصلة. يرجع هذا القيد إلى الذاكرة المادية المتاحة على الجهاز واعتبارات التصميم الخاصة بالشركة المصنعة.
مثال: قد يكون لدى YubiKey القدرة على تخزين 20 مفتاحًا مقيمًا فقط. بمجرد الوصول إلى هذا الحد، لا يمكن إضافة مفاتيح مقيمة إضافية دون حذف المفاتيح الموجودة.
الحل:
قد تتعامل أدوات المصادقة المختلفة مع طلبات المفاتيح المقيمة بشكل مختلف. قد يقوم البعض بإنشاء مفتاح مقيم بشكل افتراضي حتى لو لم يتم طلبه صراحةً، بينما قد يتطلب البعض الآخر تعليمات صريحة.
يعد السلوك غير المتسق لخيارات خادم WebAuthn
المختلفة على منصات مختلفة مشكلة رئيسية. على سبيل المثال، سيقوم
iOS دائمًا بإنشاء مفتاح مقيم بغض النظر عن خيارات
خادم WebAuthn التي تم تمريرها إليه، بينما يتطلب
Android الاشتراك (على سبيل المثال، مع
residentKey: preferred
أو residentKey: required
).
إلى جانب السلوك، الأسوأ من ذلك أنه بناءً على البيانات المخزنة من جانب الخادم، لا يمكنك القول بيقين 100٪ ما إذا كانت بيانات الاعتماد المخزنة هي مفتاح مقيم أو مفتاح غير مقيم. بدلاً من ذلك، يمكنك اتباع بعض الفحوصات وتضييق نطاقها (انظر أدناه)، ولكن لا يزال عليك أن تأمل أن يكون سلوك بيانات الاعتماد متوافقًا مع اعتقادك.
السبب وراء ذلك هو وجود اقتراح في WebAuthn لتخزين معلومات حول نوع بيانات الاعتماد (مفتاح
مقيم أو مفتاح غير مقيم) في
ملحق خصائص بيانات الاعتماد
(clientExtensionResults.credProps.rk
والذي يكون إما true
أو false
). ومع ذلك، فإن
توفير هذه المعلومات إلى الطرف المعتمد غير مضمون لأن جميع ملحقات WebAuthn اختيارية، على
سبيل المثال، لا يرسلها iOS (لذلك لا تعرف ما إذا كان
مفتاحًا مقيمًا أم مفتاحًا غير مقيم).
خلال بحثنا، حاولنا اختبار السلوك على منصات وأدوات مصادقة مختلفة (Windows 10،
Windows 11، Android
7، Android 13، iOS17، macOS Ventura، YubiKey) مع
صفحتين تجريبيتين لـ WebAuthn توفران مزيدًا من التفاصيل حول بيانات الاعتماد التي تم
إنشاؤها: https://webauthn.io
وhttps://webauthntest.identitystandards.io/.
يوفر الأخير إمكانية العمل مع الخاصية القديمة requireResidentKey
(WebAuthn المستوى 1)
وحتى دمجها مع الخاصية residentKey
(WebAuthn المستوى 2). ومع ذلك، لم تكن النتائج موثوقة
(على سبيل المثال، ذكر أنه مفتاح غير مقيم لنظام iOS
ولكن من الواضح أن واجهة المستخدم الشرطية عملت).
نظام التحقق الأكثر جدارة بالثقة الذي وجدناه هو التالي:
credProps.rk
مدعوم ومخزن في بيانات الاعتماد على الخادم؟
credProps.rk = true
، فإن بيانات الاعتماد هي مفتاح مقيمcredProps.rk = false
، فإن بيانات الاعتماد هي مفتاح غير مقيمcredProps
فارغًا، فإن نوع بيانات الاعتماد غير معروفكما ترى، هذا يساعد على تضييق نطاقه، لكن الخيار غير المعروف لا يزال قائمًا ولا يمكنك تحديد نوع المفتاح بيقين 100٪.
يتماشى هذا أيضًا مع نتائج ويليام براون من SUSE في مقالته الرائعة التي توضح كيف يمكن أن تصبح مفاتيح الأمان (مثل YubiKeys) عديمة الفائدة إذا كانت المفاتيح المقيمة مطلوبة من قبل الأطراف المعتمدة (قمنا بتوسيع جدوله):
في الجدول، ترى لخيارات المفاتيح المقيمة المختلفة لخادم WebAuthn ما إذا تم إنشاء مفتاح مقيم (true)، أو إذا تم إنشاء مفتاح غير مقيم (false)، أو حدث شيء آخر.
الحل:
residentKey
إلى required
(ملاحظة: قد يؤدي هذا إلى تحديات أخرى مع أدوات المصادقة ذات سعة المفاتيح المقيمة
المحدودة، انظر أعلاه).إذا وصل المستخدم إلى حد التخزين على مفتاح الأمان الخاص به (مثل YubiKey)، فقد يواجه أخطاء أو يكون غير قادر على تسجيل بيانات اعتماد جديدة. يمكن أن يؤدي هذا إلى الارتباك والإحباط.
الحل:
كما رأيت أعلاه، يمكن أن تؤثر إعدادات خادم WebAuthn التي تختارها بشكل كبير على تجربة المستخدم وأمان عملية المصادقة الخاصة بك. من الضروري فهم الفروق الدقيقة في هذه الإعدادات لاتخاذ قرارات مستنيرة.
المفاتيح المقيمة مقابل غير المقيمة: إذا كانت غالبية المستخدمين يصلون بشكل أساسي إلى خدمتك من أجهزة شخصية مثل الهواتف الذكية أو أجهزة الكمبيوتر المحمولة، فإن المفاتيح المقيمة هي خيار مناسب. يتم تخزين المفاتيح المقيمة على الجهاز نفسه وتوفر تجربة مصادقة سلسة للمستخدمين الذين يستخدمون نفس الجهاز بشكل متكرر. ومع ذلك، بالنسبة للمستخدمين الذين يستخدمون مفاتيح الأمان (مثل YubiKeys)، قد تكون المفاتيح غير المقيمة أكثر ملاءمة.
إعدادات التحقق من المستخدم (UV): اعتمادًا على مستوى الأمان الذي ترغب في تحقيقه، يمكنك
تحديد مدى صرامة عملية التحقق من المستخدم. إذا
كنت تهدف إلى أمان عالٍ، فمن المستحسن طلب رقم PIN أو بصمة إصبع أو التعرف على الوجه
(userVerification: preferred
أو userVerification: required
).
التصديق والموثوقية: يتيح لك التصديق التحقق من أصل وسلامة أداة المصادقة. قرر ما إذا كنت تريد الوثوق بجميع أدوات المصادقة أو فقط تلك من جهات تصنيع محددة. يمكن أن يكون هذا أمرًا بالغ الأهمية إذا كنت تتعامل مع بيانات حساسة وتريد التأكد من استخدام أدوات مصادقة عالية الجودة وموثوقة فقط.
آليات احتياطية: احتفظ دائمًا بآلية احتياطية. إذا فقد المستخدم أداة المصادقة الخاصة به أو إذا تعطلت، فيجب أن يكون لديه طريقة بديلة للوصول إلى حسابه. قد يكون ذلك من خلال رموز احتياطية، أو التحقق عبر الرسائل القصيرة، أو روابط سحرية عبر البريد الإلكتروني، أو طرق المصادقة متعددة العوامل الأخرى.
التعليم المستمر: يتطور مشهد مفاتيح المرور و WebAuthn باستمرار. ابق على اطلاع بآخر التطورات والثغرات الأمنية والتصحيحات. شجع فريق التطوير لديك على المشاركة في ورش العمل والندوات عبر الإنترنت والمؤتمرات المتعلقة بمفاتيح المرور و WebAuthn.
تأهيل المستخدمين وتثقيفهم: عند تقديم المصادقة بمفاتيح المرور، تأكد من أن المستخدمين يفهمون فوائدها وكيفية عملها. قدم تعليمات واضحة أثناء عملية الاشتراك وقدم موارد (مثل الأسئلة الشائعة أو مقاطع الفيديو التعليمية) لمساعدة المستخدمين في إعداد واستخدام مفاتيح المرور.
من خلال الالتزام بهذه الممارسات الأفضل، يمكن للمطورين ومديري المنتجات ضمان تنفيذ المصادقة بمفاتيح المرور بفعالية، مع الموازنة بين الأمان وتجربة المستخدم.
إذا كنت ترغب في تنفيذ مفاتيح المرور للتبني السائد في موقع الويب أو التطبيق الخاص بك ولا تحتاج إلى دعم مفاتيح الأمان (مثل YubiKeys)، حيث سيستخدم معظم المستخدمين هواتفهم الذكية أو أجهزة الكمبيوتر المحمولة فقط، فإننا نوصي بالإعدادات التالية.
authenticator
: platform
residentKey
: required
userVerification
: required
الفوائد:
توفر إعدادات خادم WebAuthn، على الرغم من تعقيدها، إطارًا قويًا ومرنًا للمصادقة. يعد إتقان هذه الإعدادات أمرًا بالغ الأهمية، حيث لا يتعلق الأمر فقط بتنفيذ معيار جديد؛ بل يتعلق بتحسين أمان وكفاءة مصادقة المستخدم بشكل أساسي.
في جوهر الأمر، يعد فهم إعدادات خادم WebAuthn استثمارًا في بناء تطبيقات أكثر أمانًا وكفاءة وتطلعًا للمستقبل. مع تطور المشهد الرقمي، سيكون الإلمام الجيد بمثل هذه التقنيات أمرًا لا غنى عنه. للبقاء على اطلاع، انضم إلى مجتمع مفاتيح المرور الخاص بنا أو اشترك في نشرتنا الإخبارية أدناه.
Related Articles
Table of Contents