사용자의 2FA를 비활성화할 수 없습니다

2FA(2단계 인증)가 활성화된 사용자가 있는데, 해당 사용자의 2FA를 비활성화할 수 없습니다.

해당 사용자의 계정에서 ‘비활성화’ 버튼을 클릭하면 다음과 같은 오류가 발생합니다:


(요청에 잘못된 매개변수를 전달했습니다: Discourse::InvalidParameters)

users_second_factors 테이블에는 해당 user_id에 대한 행이 없습니다. 더미 행을 추가해 보았더니 오류 없이 ‘비활성화’ 버튼을 클릭할 수는 있지만, 더미 행만 삭제되고 사용자의 2FA는 여전히 활성화된 상태로 남아 있습니다.

rake users:disable_2fa[username] rake 작업을 시도해 보았으며, 2FA disabled for user라는 메시지가 표시되지만 관리자 화면에서 사용자 프로필에는 여전히 Two Factor Authentication: Yes로 표시됩니다.

그 외 시도해 볼 수 있는 방법이 있을까요?

Rails 콘솔을 통해 시도해 보세요:

사용 중인 Discourse 버전도 확인하면 좋습니다. 2FA가 처음 출시된 이후로, UI를 통해 2FA를 비활성화할 수 없었던 문제에 대한 수정 사항이 여러 번 적용되었기 때문입니다.

@omarfilip 감사합니다 .. UserSecondFactor 삭제는 했지만 UserSecurityKey에 대해서는 몰랐습니다.

해당 사용자에게는 UserSecondFactor 기록이 없었지만, UserSecurityKey 기록은 있었습니다.

해당 기록을 삭제한 후, 프로필에 '2단계 인증: 없음’으로 표시됩니다 – 감사합니다!

@jomaxro 현재 2.5.0.beta4 (8d3900c6da ) 버전을 사용하고 있습니다.

UI를 통해 이 작업을 수행할 수 있어야 하는데, 여전히 잘못된 매개변수 오류가 발생하는 문제가 있는 것 같습니다. UserSecondFactor 기록이 없어서 그런 걸까요?

해당 버전은 구버전이며 지원이 중단되었으므로, 가능한 한 빨리 업데이트해 주세요.

오래되고 더 이상 지원되지 않는다는 점 외에도, 보안 패치가 10개 이상 누락되어 있어 사이트가 취약한 상태입니다. 반드시 업그레이드해 주세요.