技術的には、ユーザーがレガシーなパスワードハッシュを「使用している」わけではありません。
移行後、ユーザーが初めてログインした際に、パスワードがDiscourseのパスワード(当初はランダムな文字列)と一致しない場合、プラグインが処理を行います。
- 入力されたパスワードが、
import_passカスタムフィールドに保存されている値と、プラグインが知っているすべてのハッシュ手法を用いて一致するかを確認します。 - 一致が見つかれば、パスワードをユーザーに保存し、その後
import_passカスタムフィールドを削除します。
したがって、数年後には、移行されたパスワードを使用してログインしなかったユーザーのみが import_pass カスタムフィールドを保持していることになります。
a) 一度もログインしていない(最終アクセス日を確認できます)
b) 移行されたパスワードを使用せず、メールや別の認証方法でログインした、またはパスワードをリセットした
状況bがセキュリティ上の問題を引き起こす可能性があることに気づきました。ユーザーがパスワードを覚えておらず変更した場合、または別の認証方法を使用した場合、移行されたパスワードハッシュはそのまま残り、新しいパスワード alongside して引き続き使用されてしまう可能性があります。そこで、プラグインを更新し、すべての成功したログイン時に import_pass カスタムフィールドをクリアするようにしました。
これにより、今後は import_pass カスタムフィールドは、一度もログインしていないユーザーに対してのみ存在するようになります。