Migrated password hashes support

기술적으로 말하면, 사용자가 레거시 비밀번호 해시를 "사용"하는 것은 아닙니다.

마이그레이션 이후 사용자가 처음 로그인할 때, 입력한 비밀번호가 Discourse 비밀번호(초기에는 무작위 문자열입니다)와 일치하지 않으면 플러그인이 작업을 수행합니다.

  • 입력된 비밀번호가 import_pass 커스텀 필드와 일치하는지, 플러그인이 아는 모든 해시 방법을 사용하여 확인합니다.
  • 일치하는 항목을 찾으면 비밀번호를 사용자에게 저장한 후 import_pass 커스텀 필드를 삭제합니다.

따라서 몇 년이 지난 후에는 마이그레이션된 비밀번호를 사용하여 로그인하지 않은 사용자만 import_pass 커스텀 필드가 남아 있게 됩니다.

a) 로그인한 적이 없는 경우 (마지막 확인 날짜로 확인할 수 있습니다)
b) 마이그레이션된 비밀번호 대신 이메일, 다른 인증 방법 또는 비밀번호 재설정을 사용하여 로그인한 경우

:warning: 방금 a) 상황 b가 보안 문제를 초래할 수 있다는 사실을 깨달았습니다. 사용자가 비밀번호를 기억하지 못하여 비밀번호를 변경하거나 다른 인증 방법을 사용하는 경우, 마이그레이션된 비밀번호 해시가 여전히 남아 있어 새 비밀번호와 함께 사용될 수 있습니다. 이 문제를 해결하기 위해 플러그인을 업데이트하여 모든 성공적인 로그인 시 import_pass 커스텀 필드를 지우도록 수정했습니다.

따라서 앞으로는 로그인한 적 없는 사용자만 import_pass 커스텀 필드가 남아 있게 됩니다.

2개의 좋아요