호스트명이 변경된 경우 등록된 U2F를 사용할 수 없음

참고: 보안 관점에서 이는 바람직한 동작이지만, 이러한 상황이 사용자에게 발생하면 UX를 개선할 수 있습니다.

사용자가 U2F 토큰을 등록한 경우, 등록 이후 사이트의 호스트명이 변경되었다면 해당 토큰은 작동하지 않습니다.

그러나 Discourse에는 해당 정보가 저장되지 않기 때문에, 호스트명이 변경되었기 때문일 수 있다는 피드백이 사용자에게 제공되지 않습니다. 그리고 사용자가 왜 이런 일이 발생하는지 충분히 인지하지 못한다면 혼란을 겪게 됩니다.

이러한 경우를 위한 개선 사항은 해당 화면에서 다음과 같이 적용할 수 있습니다:

  • “보안 키로 인증” 비활성화
  • "이 계정에 등록된 보안 키가 있지만, 요청을 보내고 있는 호스트명(www.example.com)과 일치하지 않습니다"와 같은 문구 표시

고려 사항:

  • 위와 같이 처리할 경우, UserSecurityKey 테이블에서旧的 호스트명을 새로운 호스트명으로 재매핑하지 않도록 해야 합니다
6개의 좋아요

네, @sam, 도메인 이름 변경 사례를 다루는 문구를 추가해야 할 것 같아. 대부분 복사본 업데이트일 텐데, 아래쪽에 면책 조항 같은 걸 넣는 거지?

1개의 좋아요

이 문제는 다소 까다로울 수 있습니다. 호스트명이 보안 키 테이블 안의 공개 키 안에 저장되어 있다고 생각하기 때문이죠(이 작업을 오래전에 했기 때문에 제 기억이 틀릴 수도 있습니다). 이 문제를 UI로 전달하여 버튼을 비활성화하고 메시지를 표시하려면 약간의 조정이 필요합니다. 또한 이 메시지는 등록된 모든 보안 키의 호스트명이 잘못되었을 때만 표시됩니다. 하나라도 일치하면 사용자에게는 문제가 없으므로요.

관련해서, 2fa security key breaks when migrating to custom domain - #6 by balboah 이 이슈도 수정해야 합니다. 이 토픽도 저에게 할당할 것입니다. 호스트명을 변경할 경우 기존 보안 키는 사실상 무용지물이 되므로 모두 비활성화하는 것이 적절하다고 생각하기 때문입니다.

1개의 좋아요

프로덕션에서 스테이징 사이트로 데이터베이스를 복원할 때 호스트명이 다른 경우가 많습니다. 이때 잘못된 키를 모두 비활성화하고 관리자에게 재설정을 요구할 수 있다면 좋겠습니다. (물론 책임감 있는 사용자는 백업 키를 설정해 두었을 테니 큰 도움이 되지는 않을 겁니다. :sadpanda:)

1개의 좋아요