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. Я вижу все сообщения, пользователей и прочее. Но мои пользователи не могут войти, используя свои «старые» данные пароля с моего сайта на WordPress. Я установил плагин, он отображается в разделе плагинов в моей панели администратора. Я проверил все доступные флажки.

Тем не менее: никто не может войти!
Также я не понимаю, куда именно нужно применить приведённый код из 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, но безрезультатно — после этого никто не может войти. В пользовательском поле я вижу только «-» вместо хеша.

Как уже отмечали другие пользователи, не совсем понятно, что делать с этим:

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 лайк