Migrated password hashes support

شكرًا لك @pfaffman

لقد أجريت بعض الاختبارات وأستطيع تأكيد أنه لا يعمل مع Drupal 7، والذي يستخدم على ما يبدو SHA-512 وفقًا لـ Drupal 7: Secure password storage by default at last | Jon Cave

سأقوم بإنشاء طلب سحب (PR) إذا تمكنت من إضافة واحد متوافق.

ريتش

3 إعجابات

مرحباً :waving_hand:

لقد قمت بنقل كمية كبيرة من المحتوى من bbPress إلى تثبيت discourse الخاص بي. أستطيع رؤية جميع المنشورات والمستخدمين وما إلى ذلك. لكن مستخدميني لا يستطيعون تسجيل الدخول باستخدام بيانات “كلمة المرور القديمة” من موقعي على WP. لقد قمت بتثبيت الإضافة، وهي مدرجة في قسم الإضافات الخاص بمسؤولي. لقد قمت بتحديد جميع الخيارات المتاحة.

ومع ذلك: لا يمكن لأي شخص تسجيل الدخول!
كما أنني لا أعرف أين يجب تطبيق الكود المعطى من ملف readme الخاص بالإضافة:

user = User.find_by(username: 'user')
user.custom_fields['import_pass'] = '5f4dcc3b5aa765d61d8327deb882cf99'
user.save

أيضاً، لا أعرف بالضبط ما المقصود بـ “تجزئات كلمات المرور البديلة” المذكورة في ملف readme.

@michaeld هل يمكنك تقديم المزيد من التوجيه حول كيفية استخدام الإضافة؟

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

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

يا إلهي، بعد إجراء المزيد من الاختبارات، اتضح أنها كانت تعمل بالفعل. كانت المشكلة في تغيير كلمة المرور أثناء اختياري لها :man_facepalming: آسف! شكرًا لك على الإضافة الرائعة! لقد سهّلت حياتي كثيرًا!

إعجابَين (2)

مرحبًا، أعاني من مشكلة في جعل هذا يعمل. لقد أنشأت حقلًا مخصصًا باسم import_pass وقمت بتثبيت الإضافة. قمت بتشغيل سكريبت الاستيراد مرة أخرى على قاعدة بيانات SMF الخاصة بي، لكن دون جدوى؛ فلا يمكن لأي شخص تسجيل الدخول بعد ذلك. في الحقل المخصص، أرى فقط علامة “-” بدلاً من قيمة التجزئة (hash).

وكما أشار مستخدمون آخرون من قبل، لست متأكدًا مما يجب فعله بهذا الكود:

user = User.find_by(username: 'user')
user.custom_fields['import_pass'] = '5f4dcc3b5aa765d61d8327deb882cf99'
user.save

أقدر أي توجيه. هل يُفترض أن يُوضع هذا الكود في ملف سكريبت الاستيراد smf2.rb أم ماذا؟

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

الكود موجود كمثال لمؤلفي السكريبتات. إنه موجود بالفعل في سكريبت SMF2.

3 إعجابات

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

هل هناك سجل يمكننا التحقق منه لمعرفة سبب عدم قيام الإضافة بما هو مفترض؟

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

إعجابَين (2)

هل يجب تثبيت الإضافة قبل الهجرة أم بعدها؟ أم لا يغير ذلك شيئًا؟

TL;DR: بعد ذلك.

يجب عليك تثبيت الإضافة على الخادم الذي يشغل فعليًا المنتدى المُهجَّر.

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

4 إعجابات

مرحباً،

هل جرب أحدكم استخدام تجزئات كلمات المرور من Auth0؟

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

يبدو أن كلمات المرور لديهم مُجزأة باستخدام bcrypt مع 10 دورات تمليح.

شكراً لكم.

إعجابَين (2)

مرحباً، هل تغير أي شيء بخصوص دعم Drupal 7؟

عذرًا، سؤال عمره عامين فاتني!

يجب أن يتم دعم bcrypt بغض النظر عن عدد الجولات، طالما أن الجولات مرمزة بالطريقة المعتادة ($2a$10$...)

لا، لم يتم المساس بهذا الكود منذ أكثر من 3 سنوات.

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

قمنا بنقل منتدى إلى Discourse قبل عدة سنوات باستخدام إضافة migratepassword. هل توجد طريقة للتحقق من عدد المستخدمين الذين لا يزالون يستخدمون تجزئات كلمات المرور القديمة من المنتدى السابق؟