У меня был тот же вопрос. Почему password_hash (или salt) всё ещё хранится в базе данных для учётной записи, зарегистрированной через OAuth-провайдеров (я использую плагин Discourse OAuth2 Basic)? Мой эксперимент показал, что пользователи могут входить в систему (если не отключить «включить локальный вход» при включённом и настроенном OAuth2) с помощью локального пароля, установленного через функцию сброса пароля в панели настроек. Они также могут входить с помощью учётных данных своих OAuth2-провайдеров. Оба механизма разрешены, как указал pfaffman.
Мне интересно, какое начальное «сырое» значение имеет password_hash?