다중 인증 적용으로 잠금, 도움 필요

최근 포럼의 모든 사용자에게 MFA(다중 인증)를 의무화했는데, MFA 사용법을 안내하는 스레드를 볼 수 없는 사용자가 많다는 이야기를 들었습니다. (많은 사용자가 기술에 익숙하지 않거든요.)

해당 글은 비로그인 상태의匿名用户도 볼 수 있지만, 로그인 상태이면서 MFA에 등록되지 않은 사용자는 사이트의 어떤 내용도 볼 수 없습니다. 이들은 사용자 보안 설정 화면에서 아래 메시지와 함께 멈춰 있게 됩니다:

개인적으로는 사용자가 이 정도는 처리할 수 있을 거라 기대하지만, 인증 앱 사용에 익숙하지 않거나 프라이버시에 민감한 사용자에게는 MFA를 “더 프라이버시를 중시하는 방식으로” 사용하는 법을 조언해 주었습니다.

설교는 하지 말아 주세요. 제가 잘 알고 있습니다.

MFA 강제 적용 메시지에 정보를 포함할 수 있다면, 사용자에게 더 많은 도움을 줄 수 있을 텐데 싶습니다. 예를 들어, 추천하는 비밀번호 관리자나 인증 앱을 언급하거나, 인증기를 사용하는 기기의 시간이 정확한지 확인하도록 조언하는 것 등이죠. 그렇지 않으면, 스스로도 무지하다고 인정하는 많은 사용자가 나쁜 경험을 하게 될 것이고, 이미 그러고 있는 것보다 더 강하게 저를 반발하게 될 것입니다.


부연하자면, 패스키(passkey)도 MFA의 일종이므로, 이 부분도 해결되어야 합니다.

1개의 좋아요

/admin/customize/site_texts?q=required%20to%20enable를 통해 사이트 텍스트를 사용자 지정하면 가능합니다:

5개의 좋아요

위에서 언급한 대로 사이트 텍스트를 편집하는 것이 지침을 제공하는 가장 간단한 방법이지만, 해당 컨텍스트에서는 텍스트만 사용할 수 있습니다.

HTML(링크, 이미지 등)을 추가하려면 테마 및 컴포넌트 관리 영역에서 새 테마 컴포넌트를 생성할 수 있습니다.

컴포넌트 탭(admin/config/customize/components)에서 "설치"를 클릭한 다음 "새로 만들기"를 선택하고, 명확한 이름을 부여하세요… 그리고 컴포넌트가 생성되면 "코드 편집"을 클릭합니다.

이후 JS 탭으로 이동하여 다음과 같은 내용을 추가할 수 있습니다.

  import { apiInitializer } from "discourse/lib/api";

  const CustomMessage = <template>
    <div class="custom-2fa-message">
       기존 콘텐츠 위에 커스텀 콘텐츠를 여기에 추가합니다. 
       <a href="#">예시 링크</a>
    </div>
  </template>;

  export default apiInitializer("1.0", (api) => {
    api.renderBeforeWrapperOutlet("user-second-factor-wrapper", CustomMessage);
  });

:backhand_index_pointing_up: 이 방법으로 링크나 원하는 HTML 콘텐츠를 추가할 수 있습니다.

여기에 링크하고 싶은 주제가 있다면, Page Publishing 기능을 사용하여 이를 공개로 설정할 수 있습니다:

4개의 좋아요

원치 않는 답변 부서의 제안으로, 사람들이 2단계 인증을 활성화할 수 있도록 일주일에서 한 달 정도의 시간을 주고, 어떻게든 계속 독촉하는 것도 방법입니다. 네, current_user 객체에는 second_factor_enabled 필드가 있으므로, 아직 활성화하지 못한 사용자에게 "재앙이 임박했다"는 대형 배너를 표시하고, 설정 방법을 안내하는 링크를 함께 보여주는 것도 좋습니다.

한 달 전에 이미 그 작업을 했습니다.

아마 제가 찾고 있는 것이 바로 이것일 것 같습니다. 해당 테마 컴포넌트를 만들어 보겠습니다. 감사합니다.

3개의 좋아요