دعم تسجيل الدخول بلا كلمة مرور باستخدام Passkeys

:wave: توماس كانون هنا، أحد المشرفين الرئيسيين على منظمة Ruby passkeys!

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

نريد بالتأكيد المساعدة قدر الإمكان؛ وتجميع الموارد لجعل passkeys المعيار القياسي عبر نظام Ruby البيئي :flexed_biceps:

8 إعجابات

مرحباً توماس،

تأتي Discourse مع نظام المصادقة الخاص بها المبني مباشرة على webauthn للمصادقة الثنائية. أعتقد أن الفجوة الكبيرة الوحيدة التي لدينا الآن هي أننا لا نسمح بالمصادقة الثنائية كعامل وحيد (اختياريًا).

لاحظت أن Google قد انضمت بالكامل الآن أيضًا (اعتبارًا من الأمس)، Passkeys: What they are and how to use them

آمل حقًا أن أجعل هذا خيارًا لـ Discourse أيضًا، أنا حقًا أكره كلمات المرور والمصادقة الثنائية + التحدي فقط بالنسبة لي تبدو أفضل بطبيعتها من كلمة المرور، بالتأكيد.

7 إعجابات

رائع! ما هي أفضل طريقة يمكنني المساعدة بها؟

إعجابَين (2)

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

إعجابَين (2)

يمكنني المحاولة! لا وعود، لذلك إذا أراد أي شخص التفوق علي في الغداء، فليتفضل!

5 إعجابات

تحديث سريع: دعم مفاتيح المرور في Discourse قادم قريبًا. لقد كنت أعمل على هذا خلال الأسابيع القليلة الماضية ولدينا عدد قليل من طلبات السحب (PRs) الأولية جاهزة. انظر #23586، #23587 و #23591.

أعتقد أنه في غضون 3-4 أسابيع، يجب أن نكون قادرين على دمج هذا (خلف إعداد موقع افتراضي مغلق). وإذا منحنا بضعة أسابيع إضافية للاختبار وإصلاح الأخطاء، أظن أننا سنكون قادرين على الوصول إلى هذه الحالة الجاهزة للإنتاج في حوالي شهرين. ترقبوا!

10 إعجابات

مرحباً! هل هناك أي شيء جديد يمكن قوله عن passkeys في Discourse؟

إعجابَين (2)

يبدو أن طلب الدمج النهائي لهذا تم دمجه قبل أسبوع، واسم إعداد الموقع يبدو حاليًا experimental_passkeys (وهو حاليًا إعداد مخفي).

إعجاب واحد (1)

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

cd /var/discourse
./launcher enter app
rails c
SiteSetting.experimental_passkeys=true

بمجرد تمكينه، يبدو أنه يتعين عليك فقط فتح https://forum.example.com/my/preferences/security وإضافة مفتاح مرور، ثم تسجيل الخروج واستخدام خيار تسجيل الدخول باستخدام مفتاح مرور لتسجيل الدخول مرة أخرى.

3 إعجابات

مرحباً يا رفاق، نعم، لقد قمنا بدمج عدد قليل من طلبات السحب (PRs) التي تضيف دعم مفاتيح المرور (passkeys) ونقوم باختبارها داخليًا بالفعل.

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

9 إعجابات

تحديث آخر هنا قبل تقديم إعلان رسمي: تم تمكين مفاتيح المرور هنا على ميتا. يرجى تجربتها والإبلاغ عن أي مشاكل كردود في هذا الموضوع.

تتمثل خطتنا في مواصلة اختبار الميزة لمدة أسبوع آخر تقريبًا تحت علامة تجريبية. ثم سنعلن عنها رسميًا ونزيل إعداد الموقع التجريبي (أي سيتم تمكين دعم مفاتيح المرور افتراضيًا على جميع المثيلات التي تستخدم تسجيلات الدخول المحلية).

7 إعجابات

لقد اختبرته على سطح المكتب (ويندوز 11، كروم)، وهو يعمل بشكل مثالي! :+1:

اضطررت إلى الضغط على إرسال بريد إلكتروني لإعادة تعيين كلمة المرور لتأكيد هويتي لأنني عادةً ما أسجل الدخول باستخدام جوجل، لذلك لا أعرف كلمة المرور الخاصة بي. :sweat_smile:


لقد اختبرته على أندرويد (10) وكروم/التطبيق. إنه يعمل بشكل جيد، ومع ذلك:

  • لمس الإدخال يؤدي إلى ظهور نافذة مفتاح المرور.
    • التجاهل ولمس الإدخال مرة أخرى يسمح لي بالكتابة
  • لمس الزر لا يفعل شيئًا (بخلاف تحديده وإغلاق لوحة المفاتيح)


(نعم، إنه بطيء، لست متأكدًا لماذا)

5 إعجابات

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

على أي حال، تم إصلاحه الآن، لقد اختبرته للتو على جهاز Android الخاص بي، ويجب أن يعمل لديك أيضاً.

إعجابَين (2)

نعم، إنه يعمل الآن، شكرًا لك! :smile:

إعجابَين (2)

يبدو أن نظام ChromeOS لا يمكن استخدامه كـ “passkey” مع Discourse (على الرغم من أنه يمكن استخدامه كـ “passkey” مع مواقع ويب أخرى)، هل هذا مقصود؟

نحن لا نقوم بحظره بشكل خاص، لا. ما هو “نظام chromeos” بالضبط، هل هو Chrome على ChromeOS؟ هل يمكنك مشاركة إصدار المتصفح ونظام التشغيل؟

نعم.

بالتأكيد.
من chrome://version:

المفتاح القيمة
Google Chrome 118.0.5993.86 (Official Build) (64-bit)
Revision d9a55e23605b9c433d369a305c71114843ec754d-refs/branch-heads/5993@{#1287}
Platform 15604.45.0 (Official Build) stable-channel octopus
User Agent Mozilla/5.0 (X11; CrOS x86_64 14541.0.0) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/118.0.0.0 Safari/537.36

هل هذه معلومات كافية؟

إليك ما يحدث عند محاولة إضافة مفتاح مرور باستخدام هذا الكمبيوتر (أختار خيار “هذا الجهاز” في القائمة الأولى):


إعجاب واحد (1)

آه، مثير للاهتمام، شكرًا على لقطة الشاشة. أظن أن الجهاز لا يدعم التحقق من المستخدم؟ هل يمكنك استخدام بصمة الإصبع/الوجه أو رمز PIN لفتح الجهاز؟

وفقًا لـ هذه الصفحة، يبدو أن دعم نظام التشغيل Chrome OS متقطع.

إعجاب واحد (1)

أعتقد أنه يدعم.

أستخدم كلمة مرور. قد يكون من الجدير بالذكر أنه يمكنني إضافة هذا الجهاز كطريقة مصادقة ثنائية (2FA) إلى حساب باستخدام webauthn، ولكن لا يمكنني إضافته كـ passkey.

إعجاب واحد (1)