نظرة عامة
عند استخدام مفاتيح المرور المتزامنة، تتم المصادقة مع موفِّر مفاتيح مرور.
لإنشاء مفاتيح المرور والمصادقة عليها، عليك استخدام WebAuthn API للويب، أو Credential Manager API لتطبيقات Android. تتعامل واجهات برمجة التطبيقات هذه مع الاتصال بين العميل وموفِّر مفاتيح المرور.
وعلى الرغم من أنّ واجهات برمجة التطبيقات هذه يتم طلبها من أحد العملاء، مثل صفحة ويب أو تطبيق Android، عليك تنفيذ باقي الوظائف على الخادم لإكمال حالات استخدام المصادقة.
تتألف عملية استخدام مفتاح المرور من وظيفتَين:
- تسجيل مفتاح المرور: يمكنك استخدام WebAuthn API أو Credential Manager API للسماح للمستخدم بإنشاء مفتاح مرور. تخزين المفتاح العام المرتبط على الخادم
- المصادقة باستخدام مفتاح مرور يمكنك الحصول على طلب مصادقة من الخادم واستخدام WebAuthn API أو Credential Manager API للسماح للمستخدم بتوقيع هذا الاختبار باستخدام مفتاح المرور. تحقَّق من التوقيع على الخادم. إذا كان التوقيع صالحًا، يمكنك المصادقة على المستخدم.
المكتبات من جهة الخادم
على الرغم من أنّه من الممكن تنفيذ وظيفة مفاتيح المرور من جهة الخادم من البداية، ننصح بالاعتماد على مكتبة بدلاً من ذلك.
يُطلَق على الخادم الذي يتيح إنشاء مفاتيح المرور ومصادقتها اسم خادم FIDO2، أو خادم FIDO. بالإضافة إلى ذلك، سنشير هنا إلى المكتبات من جهة الخادم التي تتيح استخدام مفاتيح المرور باعتبارها مكتبات من جهة الخادم FIDO.
لماذا تستخدم المكتبة؟
هناك عدة مزايا لاستخدام مكتبة FIDO من جانب الخادم:
- الوقت وتجربة المطوّر. مواصفات WebAuthn معقّدة. يمكن لمكتبات FIDO من جهة الخادم توفير واجهات برمجة تطبيقات بسيطة لتنفيذ مفاتيح المرور، ما يوفّر عليك الوقت وموارد التطوير.
- قابلية الصيانة: ولا تزال مواصفات WebAuthn عرضة للتغيير. يساعد استخدام أحدث إصدار من المكتبة التي تتم صيانتها بشكل نشط في تحديث عملية التنفيذ باستمرار.
- الأمان والامتثال: يجب أن يتوافق تنفيذ مفتاح المرور مع مواصفات WebAuthn ومتطلبات الأمان. يمكن أن تساعدك مكتبات FIDO من جهة الخادم في الحفاظ على أمان عملية التنفيذ وامتثالها للمواصفات. واعتمادًا على المنتج ومجال العمل، قد تخضع عملية التنفيذ أيضًا للّوائح التي تتطلّب منك استخدام معايير أمان معيّنة للمصادقة.
ننصحك بتقديم الدعم المالي للمشاريع التي يعتمد عليها منتجك إذا أمكن.
المكتبات
- يتضمّن مستودع GitHub awesome-webauthn قائمة من تنظيم المنتدى للمكتبات من جهة الخادم. ويمكنك العثور على مكتبات تتضمن JavaScript وTypeScript وGo وPython وغيرها.
- تتوفّر مجموعة من المكتبات على passkeys.dev وتحتفظ بها مجموعة منتدى W3C WebAuthn Adoption.
- يشير تحالف FIDO Alliance إلى مجموعة من خوادم FIDO2.