
언어 🇰🇷 한국어
기본
모양 및 느낌
실시간 댓글
페이지 매김 및 정렬
답글 상자
싱글 사인온(SSO)
익명 댓글
기타
사용자 지정 및 구성
컨텍스트
여기에서는 댓글 위젯이 지원하는 각 기능 및 설정에 대한 심층 문서를 찾을 수 있습니다.
이 문서에서는 핵심 개념을 다루고, 사용 방법과 각 기능 영역별로 알아야 할 주의사항까지 깊이 있게 설명합니다.
관련 줄이 강조된 코드 예제가 제공됩니다. 해당되는 경우 구성 페이지의 스크린샷도 제공됩니다.
코드 예제는 당사의 바닐라 JavaScript 라이브러리를 사용하지만, 구성 옵션은 모든 댓글 위젯 버전(React, Vue 등)에서 정확히 동일한 이름을 사용합니다.
이 가이드에 설명된 대부분의 구성 및 기능은 코드를 작성할 필요가 없습니다.
계정 식별 
댓글 위젯이 예를 들어 테넌트 ID가 "demo"인 상태로 사용될 수 있다는 것을 알 수 있습니다:
Run 
이것은 댓글 위젯을 시험해 보거나 가지고 놀아보기 위한 목적일 뿐입니다. 실제 운영 환경에서는 다음과 같이 자신의 테넌트 ID를 전달해야 합니다:
Run 
귀하의 테넌트 ID는 계정의 댓글 위젯 코드 스니펫에 이미 적용되어 있습니다.
또한 테넌트 ID를 확인하고 API 키를 관리하려면 API 자격 증명 페이지를 확인하세요.
앞으로는 FastComments에 로그인한 상태라면(https://fastcomments.com에 로그인한 경우) 코드 예제들이 실제 테넌트 ID를 사용합니다.
댓글이 페이지 및 기사와 연결되는 방법 
댓글 스레드를 렌더링 하거나 댓글을 남길 때, FastComments는 해당 댓글이 어느 페이지, 기사, 또는 상품에 속하는지 알아야 합니다.
이를 위해 우리는 "URL ID"라고 부르는 것을 사용합니다. 이는 문자열이나 숫자 같은 식별자이거나 또는 URL일 수 있습니다.
기본적으로 urlId를 지정하지 않으면 페이지 URL이 됩니다. 현재 페이지 URL을 가져와 흔히 사용되는 마케팅 파라미터나 추적 식별자는 제거하도록 정리합니다.
WordPress와 같은 서드파티 통합의 경우, 플러그인은 보통 현재 보고 있는 정보를 나타내는 식별자(예: 기사/페이지 id)를 URL ID로 사용합니다.
Run 
이 문서에서 자주 참조하는 한 가지는 위젯 사용자화 UI입니다.
이 UI는 코드를 사용하지 않고도 댓글 위젯에 대한 다양한 변경을 적용하는 데 사용할 수 있습니다.
커스터마이즈 규칙을 만들 때, 일반적으로 사이트의 모든 페이지에 적용되도록 하려는 경우가 많습니다. 그러나 경우에 따라 특정 페이지에 대해 댓글 위젯을 맞춤 설정하고 싶을 수 있습니다. 예를 들어 특정 페이지에 대해 사용자 정의 스타일을 적용하거나 해당 페이지의 댓글을 익명으로 처리하도록 할 수 있습니다. 또한 일부 페이지에서는 라이브 댓글을 즉시 표시하고, 다른 페이지에서는 알림 버튼 아래에 숨길 수도 있습니다.
이는 이 페이지의 URL ID 입력 필드를 통해 모두 가능합니다. 해당 필드는 다음과 같이 보입니다:
이 필드의 값은 댓글 위젯에 전달되는 urlId 매개변수와 일치해야 합니다. 커스터마이즈 규칙이 urlId에 구애받지 않게 하려면 이 필드를 비워두거나 *를 입력하세요.
As of 2023 the URL ID field in widget customization now also takes patterns! For example you may
have */blog/* to add styling specific to your blog and */store/* to have styling specific to your store,
all while using the same domain.
주의사항
- 페이지에 해시 파라미터가 있는 경우(예: example.com#page-1) - 기본적으로 이것은 URL ID의 일부가 됩니다.
- 마이그레이션 중(예: WordPress에서 Gatsby로) 초기 마이그레이션 이후 URL ID 댓글 값을 이전해야 할 수도 있습니다. 이 경우 저희에게 문의하세요.
다른 페이지에서 동일한 댓글 렌더링 
urlId 매개변수는 댓글이 연결될 페이지(또는 ID)를 정의할 수 있게 해주므로, 해당 페이지들에서 urlId를 같은 값으로 설정하면 됩니다.
Run 
맞춤 스타일 
FastComments는 맞춤화되도록 설계되었습니다. 댓글 위젯 자체는 보안상 iframe 내부에서 실행되므로, 사용자 정의 스타일을 적용하려면 다음 두 가지 접근 방식 중 하나를 따라야 합니다.
The first, the easiest approach, and preferred by us, is to use the widget customization page.
In the widget customization page, see the "Show Advanced Options" section, under which there is an area labeled "Custom CSS":
이 접근 방식의 장점은 다음과 같습니다:
- 입력한 CSS는 사용자에게 전송되기 전에 minify되며, 편집 UI에서 형식이 일관되게 유지됩니다.
- 위젯 커스터마이즈 UI의 모든 이점을 누릴 수 있습니다. 예를 들어 사이트마다 댓글 위젯을 쉽게 다르게 커스터마이즈할 수 있습니다.
- 저희가 댓글 위젯을 변경할 때, 귀하의 맞춤 스타일은 릴리스 프로세스의 일부로 테스트됩니다.
The second approach is to specify the customCSS parameter in the widget configuration, as follows:
Run 
However, this has limitations:
- 헤더 크기 때문에, 서버가 요청을 거부하기 전에 전달할 수 있는 사용자 정의 CSS의 양에는 한계가 있습니다.
- 사용자 정의 CSS는 귀하의 인프라와 빌드 시스템에서 관리해야 합니다. 이는 단점이라기보다 장점일 수도 있습니다.
- 이 경우 사용자 정의 CSS가 당사 서버로 전송된 후 다시 iframe 콘텐츠로 전송되므로 네트워크를 통해 두 번 전송되는 추가 오버헤드가 발생합니다. 다만 대부분의 페이로드 크기에서는 눈에 띄지 않습니다.
- 일반적인 최적화는 네트워크 상의 크기를 줄이기 위해 CSS를 미니파이하는 것입니다. 그러나 이 접근 방식을 사용하는 경우 해당 작업을 직접 처리해야 합니다.
- 저희가 변경을 할 때 귀하의 사용자 정의 CSS는 테스트되지 않습니다.
External CSS Files
You can tell the widget to fetch an external file by using @import!
It's recommended to put the @import in a customization rule. This way, if we ever need to make a change to the comment widget, we can use our automation
tooling to verify your setup. So for example, you would create a customization rule in the Widget Customization UI, click Advanced, and enter in Custom CSS:
@import url(https://example.com/styles.css);
In Code - Not Recommended
You can also load an external CSS file via the customCSS property:
Run 
However, remember that your CSS won't be able to be tested by us if you do this.
User Profile Modal Styling
User profile modals can also be styled with custom CSS. However, to ensure that custom styling is applied to user profiles, all CSS selectors must be prefixed with .user-profile. Without this prefix, custom styling will be ignored for user profile modals.
For example:
Run 
Backwards Compatibility
At FastComments, we know our customers customize the commenting widget. That's by design - the last thing we want is for our product to cause design inconsistencies in your product.
Since this is an important part of our product, we have a build pipeline that allows us to review changes to the comment widget, per-customer, each release.
If we find minor issues, we will update your account to ensure our release goes smoothly. If we see major breaking changes, this allows us to halt the release.
맞춤 글꼴 
FastComments는 사용자 맞춤형으로 설계되었으며, 위젯에서 사용하는 글꼴도 예외는 아닙니다.
기본적으로 FastComments는 가능한 한 다양한 기기에서 보기 좋게 표시되도록 system font stack을 사용합니다.
자신의 글꼴을 정의하려면 맞춤 CSS 문서를 참조하세요.
해당 문서에서는 원하는 글꼴을 지정할 수 있는 맞춤 CSS 정의 방법을 확인할 수 있습니다.
글꼴을 정의하는 방법
글꼴을 재정의하려면 .fast-comments, textarea 선택자를 사용하여 CSS를 정의하는 것을 권장합니다. 예:
Run 
브랜딩 제거 
Pro 또는 Enterprise 계정을 보유한 고객에게는 화이트 라벨링이 허용됩니다. 간단히 문의해 주세요 그러면 저희가 기꺼이 도와드리겠습니다.
댓글 위젯에서 저희 로고만 제거하려는 경우, 이는 Flex 및 Pro 요금제에서 자동으로 활성화됩니다.
이 요금제들은 또한 당사 플랫폼에서 발송되는 이메일에 대해서도 동일한 기능을 제공합니다.
어두운 배경(다크 모드) 지원 
기본적으로 FastComments 댓글 위젯은 대부분의 사이트에서 다크 모드를 자동으로 감지합니다.
다크 모드가 감지되면 FastComments는 흰 배경의 검은색 텍스트에서 검은 배경의 흰색 텍스트로 전환합니다. 이미지도 변경됩니다.
페이지 로드 시, 위젯은 댓글 위젯 뒤에 있는 페이지 배경이 얼마나 어두운지를 판단하려고 시도합니다. 이는 페이지가 흰 배경일 수 있지만, 댓글 위젯을 검은색 배경의 컨테이너 안에 넣으면 댓글을 읽기 쉽게 하기 위해 다크 모드가 여전히 자동으로 활성화되어야 함을 의미합니다.
그러나 "휘도(luminance)"를 결정하는 방식에 의존하는 감지 메커니즘은 원할 때 다크 모드를 활성화하지 않을 수 있습니다. 강제로 활성화하려면 hasDarkBackground 플래그를 다음과 같이 true로 설정하십시오:
Run 
다크 모드 전환 
초기 페이지 로드 후 다크 모드를 토글할 수 있는 사이트의 경우, 이는 조금 더 복잡합니다.
먼저, Comment 위젯 라이브러리의 현재 모든 버전(React, Vue)은 각 저장소에 다크 모드 토글 예제를 포함하고 있습니다.
VanillaJS 위젯의 경우에는 좀 더 작업이 필요합니다. 먼저, FastCommentsUI는 "destroy"와 "update" 함수를 가진 객체를 반환합니다.
댓글 위젯 구성을 업데이트할 때마다 update 함수를 단순히 호출하면 됩니다. 다음은 VanillaJS 위젯으로 다크 모드를 토글하는 완전한 작동 예제입니다.
Run 
텍스트 재정의 
FastComments를 사용하면 댓글 위젯의 모든 텍스트를 사용자 정의할 수 있습니다.
제출 버튼과 같은 단일 텍스트만 덮어쓸 수도 있고, 댓글 위젯 전체의 모든 텍스트를 덮어쓸 수도 있습니다.
기본적으로 댓글 위젯의 텍스트는 사용자의 로케일을 기준으로 번역됩니다. 그러나, 텍스트를 재정의할 수 있습니다, 만약 우리가 확신한다면 우리 사용자층이 동일한 로케일/언어를 사용하고 있다는 것을, 예를 들면:
Run 
모든 사용자 정의 가능한 번역은 여기의 "고급 옵션" 탭에서 확인할 수 있습니다.
그러나 위젯 사용자 정의 UI를 통해 더 쉬운 방법이 있습니다. 거기에서 우리는 댓글 위젯에 EN_US 로케일로 표시되는 텍스트를 찾아 단순히 대체 텍스트를 지정할 수 있습니다.
현재 모든 번역 재정의는 모든 로케일에 적용됩니다.
기본 아바타 변경 
사용자가 FastComments로 처음 댓글을 작성할 때, 우리는 그들의 아바타를 http://gravatar.com/에서 가져오려고 시도합니다.
그러나 아바타를 찾지 못하거나 사용자가 계정에서 아바타를 설정하지 않은 경우, 정적 기본 아바타 이미지를 렌더링합니다.
자체 정적 아바타 이미지를 지정하려면 defaultAvatarSrc 설정을 사용할 수 있습니다.
Run 
이것은 코드 없이도 할 수 있습니다. 위젯 커스터마이제이션 페이지에서 '기본 아바타' 섹션을 참조하세요.
특정 사용자(예: SSO)를 위한 아바타 정의는 별도의 섹션에서 다룹니다.
아바타 비활성화 
사용자가 자신만의 아바타를 설정했더라도 댓글 위젯에서 아바타를 완전히 제거할 수 있습니다.
Run 
이 설정은 코드 없이 위젯 맞춤 설정 페이지에서 변경할 수 있습니다:
모든 기본 스타일 비활성화 
더 큰 맞춤 스타일링 프로젝트에서는 깨끗한 상태에서 시작하여 기본 스타일을 전혀 사용하지 않는 것이 바람직할 수 있습니다.
모든 기본 스타일은 다음과 같이 noStyles 매개변수를 true로 설정하여 제거할 수 있습니다:
Run 
이 설정은 코드 없이도 위젯 커스터마이즈 페이지의 고급 옵션(Advanced Options)에서 변경할 수 있습니다:
댓글에서 페이지로 링크 연결 
알림 이메일을 보내거나, 모더레이션 페이지와 같은 사용자 인터페이스에 댓글을 렌더링할 때, 댓글에서 해당 댓글이 달린 페이지로 링크를 걸 수 있으면 유용합니다.
If URL ID isn't always an ID, then we have to store the URL some place else. That's what the "url" property is for, defined as follows.
Run 
일반적인 사용 사례는 댓글 스레드를 기사와 같은 식별자에 연결한 다음, 특정 페이지로 다시 링크하는 것입니다. 예를 들어:
Run 
URL은 일반적인 마케팅 파라미터가 제거되지 않습니다. 기본적으로 현재 페이지의 URL이 무엇이든, 그 URL이 댓글과 함께 저장됩니다.
답글을 기본적으로 접기 
기본적으로 최상위 댓글의 답글이 표시됩니다.
사용자가 자식 댓글을 보려면 최상위 댓글에서 '답글 보기'를 클릭해야 하도록 구성할 수 있습니다.
Run 
이 설정은 코드 없이 위젯 맞춤 설정 페이지에서 변경할 수 있습니다:
이 설정은 처음 로드되는 최상위 댓글의 수에는 영향을 주지 않습니다. 예를 들어 최상위 댓글이 1개이고 자식 댓글이 29개인 경우, 이 설정을 켜면:
- 최상위 댓글을 볼 수 있습니다.
- 이 댓글 아래에 '답글 보기 (29)'가 표시됩니다.
이 옵션과 함께 모든 최상위 댓글을 표시하려면 시작 페이지를 -1로 설정하십시오.
WYSIWYG 활성화 
기본적으로 FastComments의 서식 기능은 텍스트 주변에 <b></b> 같은 눈에 보이는 앵커 태그를 추가하는 방식으로 이루어집니다. 툴바를 클릭하거나 단축키를 사용하면 이러한 처리가 자동으로 적용됩니다. 그러나 일부 커뮤니티는 앵커 태그 없이 서식을 적용하도록 선택할 수 있습니다. 이를 WYSIWYG(보이는 것이 실제 결과인) 편집기를 활성화한다고 합니다. 이 편집기는 기본 편집기와 외형상 동일하지만, 눈에 보이는 앵커 태그 없이 사용자가 텍스트를 굵게, 밑줄 등으로 꾸밀 수 있도록 추가 코드를 로드합니다.
Run 
이 작업은 코드 없이도 할 수 있습니다. 위젯 맞춤 설정 페이지에서 '고급 서식 사용' 옵션을 확인하세요.
툴바 비활성화 
기본적으로 FastComments는 댓글을 작성할 때 텍스트 꾸미기 및 업로드 이미지를 위한 단축 버튼을 제공하기 위해 도구 모음을 표시합니다.
이 도구 모음은 코드에서 또는 맞춤 설정 UI를 통해 비활성화할 수 있습니다.
Run 
코드를 사용하지 않고도 이 작업을 수행할 수 있습니다. 위젯 맞춤 설정 페이지에서 "답글 도구 모음 비활성화" 옵션을 확인하세요.
차단 기능 비활성화 
기본적으로 FastComments는 사용자가 다른 사용자를 차단할 수 있도록 허용합니다. 사용자를 차단하면 해당 사용자의 댓글이 마스킹되고, 사용자들 간의 알림이 차단되는 등 여러 영향이 있습니다.
이 기능을 비활성화하는 것이 바람직할 수 있습니다. 다음과 같이 할 수 있습니다:
Run 
이 작업은 코드 없이도 수행할 수 있으며, 이렇게 하면 서버 측 유효성 검사도 적절히 활성화됩니다. 위젯 사용자 지정 UI를 통해 다음과 같이 할 수 있습니다:
렌더링할 페이지 결정 
댓글을 가져오고 렌더링할 때, 댓글 위젯은 어느 페이지에서 시작할지 알아야 합니다. 기본적으로는 시작 페이지로 첫 번째 페이지만 렌더링합니다.
원한다면, 렌더링할 정확한 페이지를 설정 startingPage로 댓글 위젯에 전달할 수 있습니다.
Run 
페이지 번호는 0부터 시작한다는 점에 유의하세요. 따라서 위의 예제는 두 번째 페이지를 렌더링합니다.
페이지를 새로고침하지 않고 댓글 스레드 전환 
우리는 urlId가 댓글이 연결되는 페이지 또는 게시물의 ID라는 것을 다뤘습니다.
또한 요약하면, 정의되지 않으면 urlId는 현재 페이지 URL로 기본값이 설정됩니다.
페이지나 콘텐츠가 전체 페이지 리로드 없이 동적으로 변경되는 SPA(싱글 페이지 애플리케이션)의 경우는 어떨까요?
Angular, React, Vue 등
Angular 및 React와 같은 라이브러리를 사용하는 경우, 위젯에 전달되는 urlId 속성을 단순히 업데이트하면 댓글 위젯이 새로고침됩니다. 예를 들어 React 앱에서 동작하는 모습을 여기에서 확인할 수 있습니다.
VanillaJS
VanillaJS 라이브러리를 사용하고 있다면, 데이터 바인딩이나 상태 전파를 처리해 주는 Angular나 React 같은 프레임워크가 없기 때문에 약간 더 복잡합니다.
VanillaJS 위젯을 인스턴스화하면, 이를 업데이트할 수 있는 몇 가지 함수들이 반환됩니다.
다음은 페이지 해시를 변경하고 댓글 위젯을 업데이트하는 작동 예제입니다:
Run 
절대 날짜(사람 친화적 타임스탬프 비활성화) 
기본적으로 로컬화된 상대 날짜가 사용됩니다. 예를 들어, 방금 남긴 댓글 옆에는 "11분 전"과 같은 문구가 표시될 수 있습니다.
절대 날짜를 사용해야 하거나 사용하려는 경우가 있을 수 있으며, 이 경우 이 매개변수를 true로 설정합니다.
Run 
이 설정은 위젯 사용자화 페이지의 고급 옵션에서 코드 없이 사용자화할 수 있습니다:
절대 및 상대 날짜 둘 다 표시 
기본적으로 지역화된 상대 날짜가 사용됩니다. 예를 들어, 최근에 남긴 댓글 옆에 "11 minutes ago"가 표시될 수 있습니다.
이 상대 날짜 형식을 유지하면서 전체 날짜도 함께 표시해야 할 경우가 있을 수 있으며, 이 경우 이 매개변수를 true로 설정합니다.
Run 
코드 없이도 위젯 사용자화 페이지의 고급 옵션에서 이 설정을 사용자화할 수 있습니다. UI에서 이 옵션을 보려면 먼저 절대 날짜(Absolute Dates)를 활성화해야 합니다.
헤더 텍스트 추가 
헤더나 메시지와 같은 일부 텍스트는 댓글 수 아래이지만 로그인 상태 텍스트 위에 표시될 수 있습니다.
이를 헤더라고 하며 기본적으로 숨겨져 있습니다.
Run 
이 항목은 코드 없이 위젯 사용자화 페이지의 고급 옵션에서 사용자화할 수 있습니다:
링크를 텍스트로 표시 
기본적으로 FastComments는 다음과 같이 링크를 렌더링합니다: https://exmaple.com - 여기서 링크 URL은 클릭 가능한 HTML 앵커 태그가 됩니다.
일부 사이트는 예를 들어 사기꾼을 억제하기 위해 이를 비활성화하고 싶을 수 있습니다. 우리는 이를 Comment HTML Rendering Option을 Links as Text로 설정하여 제공합니다.
이 설정은 위젯 사용자화 페이지에서 코드 없이 도메인 전체 또는 개별 페이지에 대해 사용자화할 수 있습니다:
버튼으로 댓글 토글하기 
By default, FastComments will render the comment input box and comment thread at the same time. To save some vertical space, 세로 공간을 절약하기 위해, it will also hide any other required fields until the widget is interacted with. 위젯과 상호작용할 때까지 다른 필수 필드들도 숨깁니다.
However, the comment widget can be hidden behind a button, for example: 그러나 댓글 위젯은 예를 들어 버튼 뒤에 숨길 수 있습니다:
The button uses different translated text based on whether the comments are currently shown or not. If the comments are hidden, it uses translations.SHOW_COMMENTS_BUTTON_TEXT. If the
버튼은 댓글이 현재 표시되어 있는지 여부에 따라 서로 다른 번역된 텍스트를 사용합니다. 댓글이 숨겨져 있으면 translations.SHOW_COMMENTS_BUTTON_TEXT를 사용합니다. 만약
comments are shown, it uses translations.HIDE_COMMENTS_BUTTON_TEXT. The translations can contain the text [count] which will
댓글이 표시되어 있으면 translations.HIDE_COMMENTS_BUTTON_TEXT를 사용합니다. 번역 문자열은 [count] 텍스트를 포함할 수 있으며
be replaced by the localized count.
이는 지역화된 카운트로 대체됩니다.
Run 
This is designed to replace the hideCommentsUnderCountTextFormat configuration.
이 기능은 hideCommentsUnderCountTextFormat 구성 옵션을 대체하도록 설계되었습니다.
The count is updated live with the comment thread. The button is not shown if there are no comments. 카운트는 댓글 스레드와 실시간으로 업데이트됩니다. 댓글이 없으면 버튼은 표시되지 않습니다.
This can be enabled without code by creating a customization rule and enabling "Click to Show Comments": 이 기능은 커스터마이제이션 규칙을 생성하고 "클릭하여 댓글 표시"를 활성화하면 코드 없이 사용 설정할 수 있습니다:
댓글 수 텍스트 맞춤 설정 
댓글 위젯 상단에 표시되는 댓글 수는 사용자 지정할 수 있습니다.
이 문자열은 임의의 문자열로 바꿀 수 있으며, 값 [count] 은 사용자에 맞게 현지화된 카운트 값으로 대체됩니다.
Run 
이 설정은 코드 없이 위젯 사용자 지정 페이지에서 변경할 수 있습니다:
이미지 리다이렉트 비활성화 
기본적으로 FastComments는 사용자가 이미지를 업로드할 수 있도록 허용합니다. 사용자가 그 이미지를 클릭하면, FastComments는 기본적으로, 새 탭을 열어 해당 이미지를 전체 보기로 표시합니다. 이 플래그를 true로 설정하면 이 동작이 비활성화됩니다:
Run 
이미지 클릭을 직접 캡처할 계획이 없다면 (참조: onImageClicked), 이 동작을 일부 스타일과 결합하는 것을 권장합니다 이미지가 클릭 가능한 것처럼 보이는 외관을 제거하기 위해.
알림 벨 비활성화 
기본적으로 FastComments는 댓글 영역의 오른쪽 상단에 알림 벨 아이콘을 표시합니다.
이 벨은 빨간색으로 바뀌고 사용자가 가진 알림 수를 표시합니다. 몇 가지 예시 알림은 다음과 같습니다:
- 사용자가 귀하에게 답글을 남겼습니다.
- 사용자가 당신이 댓글을 단 스레드에 답글을 남겼습니다.
- 사용자가 귀하의 댓글에 찬성(업보트)했습니다.
- 사용자가 당신이 구독한 페이지에 답글을 남겼습니다.
알림 벨은 페이지 전체를 구독할 수 있는 기능도 제공합니다.
하지만 알림 벨을 완전히 비활성화할 수 있습니다:
Run 
이것은 코드 없이도 설정할 수 있습니다. 위젯 사용자화 페이지에서 '알림 벨 비활성화' 섹션을 참조하세요.
프로필 비활성화 
기본적으로 FastComments는 사용자의 아바타를 클릭하면 사용자의 프로필을 표시합니다.
그러나 이 기능은 비활성화할 수 있습니다:
Run 
이것은 코드 없이도 할 수 있습니다. 위젯 커스터마이징 페이지에서 "프로필 비활성화" 섹션을 확인하세요.
프로필 댓글 비활성화 
기본적으로 FastComments는 사용자 프로필에 "Profile Comments" 탭을 표시하여 방문자가 다른 사람의 프로필에 댓글을 남길 수 있도록 합니다.
하지만 이 탭은 비활성화할 수 있습니다:
Run 
이 작업은 코드 없이도 할 수 있습니다. 위젯 맞춤 설정 페이지에서 "Disable Profile Comments" 섹션을 참조하세요.
프로필 다이렉트 메시지 비활성화 
기본적으로 FastComments는 사용자 프로필에 "다이렉트 메시지" 탭을 표시하여 방문자가 사용자에게 다이렉트 메시지를 보낼 수 있도록 합니다.
그러나 이 탭을 비활성화할 수 있습니다:
Run 
이 작업은 코드 없이도 수행할 수 있습니다. 위젯 맞춤 설정 페이지에서 "다이렉트 메시지 비활성화" 섹션을 확인하세요.
성공 메시지 비활성화 
기본적으로 FastComments는 댓글 작성 후 성공 메시지를 표시합니다. 다음과 같이 이 기능을 비활성화할 수 있습니다:
Run 
코드를 사용하지 않고도 이 작업을 수행할 수 있습니다. 위젯 사용자 지정 페이지에서:
GIF의 콘텐츠 등급 변경 
기본적으로 FastComments 댓글 위젯은 gif rating을 pg로 설정합니다.
사용 가능한 옵션은 g, pg, pg-13, 및 r입니다.
이 설정은 코드에서 또는 UI를 통해 설정할 수 있습니다. 코드에서는 다음과 같이 할 수 있습니다:
Run 
UI에서는 Disable Image Uploads?가 체크되어 있지 않은 한 Gif Picker Rating에서 이것을 찾을 수 있습니다.
이미지 콘텐츠 검토 
기본적으로 FastComments 댓글 위젯의 이미지 콘텐츠 모더레이션은 off로 설정되어 있습니다.
사용 가능한 옵션은 off, low, medium, 및 high입니다.
위젯 사용자 지정 UI에서 Disable Image Uploads?가 선택되어 있지 않은 한, 이 설정은 Image Content Moderation Level 아래에 있습니다.
투표 스타일 변경 
기본적으로 FastComments는 투표 옵션을 위/아래 화살표로 렌더링하여 사용자가 댓글에 찬성 또는 반대 투표를 할 수 있게 합니다.
하지만 투표 도구 모음의 스타일을 변경할 수 있습니다. 현재 옵션은 기본 위/아래 버튼 또는 하트 스타일 투표 방식입니다.
다음과 같이 voteStyle 플래그를 사용합니다:
Run 
이 작업은 서버 측 검증도 활성화되므로 코드 없이 수행할 것을 강력히 권장합니다. 위젯 사용자화 페이지의 "투표 스타일" 섹션을 참조하세요.
투표는 비활성화할 수도 있습니다. 스타일 옵션 위의 Disable Voting을 참조하세요.
새 댓글 강조 표시 
FastComments는 새 댓글을 강조 표시하는 여러 방법을 제공합니다.
First and foremost, by default comments that triggered an in-app notification (replies, replies in same thread, or comments on a page
that you're subscribed to), will automatically be highlighted with the user's avatar glowing slightly. 색상은 CSS를 사용하여
is-unread 클래스로 사용자화할 수 있습니다.
최근 24시간 내에 작성된 댓글에는 스타일링에 사용할 수 있는 24hr 클래스가 적용됩니다.
마지막으로, 사용자 세션에 새로 나타나는 실시간 댓글은 애니메이션을 통해 몇 초 동안 강조 표시됩니다. 이는
is-live CSS 클래스로 이루어지며 역시 사용자화할 수 있습니다.
페이지 크기 
기본적으로 FastComments의 페이지 크기는 30입니다. 여기에는 스레드 내 답글도 포함됩니다.
페이지 크기는 위젯 구성 UI에서 10부터 200까지 다양한 크기로 사용자 지정할 수 있습니다.
페이지 크기를 변경하면 계정의 모든 댓글 스레드를 재계산해야 합니다. 이 작업은 몇 분 정도 걸릴 수 있습니다.
페이지는 서버 측에서 계산되므로 클라이언트 측 위젯에서 구성할 수 없습니다.
예시 구성은 아래에 표시됩니다:
페이지 크기는 전역, 도메인별, 페이지별로 서로 다른 사용자 지정 규칙을 만들어 설정할 수 있습니다.
이는 플랫폼을 통해 댓글을 표시하는 데 사용하는 모든 클라이언트, 통합 및 프레임워크에 영향을 미칩니다.
이메일 템플릿 
FastComments에서 고객에게 보내는 이메일은 맞춤 설정할 수 있습니다. 템플릿, 로직 및 번역을 모두 변경할 수 있습니다. 텍스트는 로케일별로 맞춤 설정할 수 있으며, 스타일은 도메인별로 변경할 수도 있습니다. 맞춤 이메일 템플릿에 대해 자세히 알아보려면 여기를 확인하세요.
사용자 이름 형식 
기본적으로 FastComments는 사용자가 입력한 이름 또는 SSO를 통해 전달된 이름을 표시합니다.
그러나 사용자의 이름을 마스킹하거나 다르게 표시하는 것이 바람직할 수 있습니다. 예를 들어 사용자의 이름이 Allen Rex라면 "Allen R."만 표시하고 싶을 수 있습니다.
이것은 코드 없이 위젯 사용자화 UI에서 Commenter Name Format이라는 설정으로 수행할 수 있습니다:
사용 가능한 형식은 다음과 같습니다:
- Capitalize (예시 사용자명을 Example User로 표시)
- Last Initial (예시 사용자명을 Example U.로 표시)
- All Initials (예시 사용자명을 E. U.로 표시)
- Show "Anonymous"
이 설정 변경의 효과는 즉시 반영됩니다. 사용자는 자신에게는 코멘트 영역 상단에 전체 사용자 이름이 그대로 보이지만, 그들이 올린 코멘트에는 수정된 사용자 이름이 표시됩니다.
사용자 이름은 사용자를 보호하기 위해 서버 측에서 마스킹됩니다.
이미지 업로드 비활성화 
기본적으로 FastComments는 이미지 업로드를 허용합니다. 이는 noImageUploads 플래그를 true로 설정하여 비활성화할 수 있습니다.
Run 
이 설정은 코드 없이 위젯 사용자화 페이지에서 맞춤 설정할 수 있습니다:
검색창 활성화 
기본적으로 댓글 위젯에는 검색 상자가 표시되지 않습니다.
하지만 enableSearch 플래그를 true로 설정하여 이를 활성화할 수 있습니다:
Run 
이 작업은 코드 없이도 할 수 있습니다. 위젯 사용자 지정 페이지에서 "검색 상자 활성화" 옵션을 확인하세요.
스포일러 활성화 
스포일러 지원은 enableSpoilers 플래그를 true로 설정하여 활성화할 수 있습니다:
Run 
이 작업은 코드 없이도 할 수 있습니다. 위젯 사용자 지정 페이지에서 "Enable Spoilers" 옵션을 확인하세요.
텍스트를 강조 표시한 후 표시된 SPOILER 버튼을 클릭하면, 사용자가 마우스를 올릴 때까지 텍스트가 가려집니다. 다크 모드에서는 동일한 동작을 수행하지만 다크 모드에 더 어울리는 다른
색상을 사용합니다.
이는 WYSIWYG 편집기와도 호환됩니다.
댓글 조회수 활성화 
기본적으로 FastComments는 각 댓글을 누가 보았는지 추적하거나 이에 대한 통계를 제공하지 않습니다.
하지만 이 기능을 활성화하면 사용자가 댓글로 스크롤할 때 시스템이 이를 추적하기 시작합니다.
이렇게 되면 각 댓글에 표시된 눈 아이콘 옆의 카운트가 증가합니다. 카운트는 실시간으로 업데이트되며 사용자의 로케일에 따라 축약되어 표시됩니다.
다음과 같이 enableViewCounts 플래그를 true로 설정하여 이 기능을 활성화할 수 있습니다:
Run 
이 설정은 위젯 맞춤화 페이지에서 코드 없이도 사용자화할 수 있습니다:
We track the user id* that viewed the comment, so that if you view the comment again it does not increment. If you view the comment again after two years, the count will increment more.
- *Note: or the anon session id, or the user's IP as a hashed value.
실시간 댓글 즉시 표시 
기본적으로 라이브 댓글 기능이 활성화되어 있습니다. 즉, 댓글이 추가, 삭제, 수정되거나 고정되면 해당 변경 사항이 댓글 스레드를 보고 있는 모든 사용자에게 동시에 표시됩니다.
그러나 기본적으로 새 댓글은 "새 댓글 2개 보기"와 유사한 텍스트를 가진 동적으로 표시되는 버튼 아래에 나타납니다.
If the new comments are replies directly to the page, the button will show at the top of the comment thread. If they are replies to a particular comment, the button will show under that comment.
이는 사용자가 스크롤바를 잡으려 할 때 페이지 크기가 계속 변경되어 좌절감을 줄 수 있는 상황을 방지하기 위한 것입니다.
For some use cases, like live bidding, or online events, this is not the desired behavior - you may want the commenting widget to be more like a "채팅" 상자 where new comments "즉시 표시".
Hence, the name of the flag that enables that feature: showLiveRightAway.
We can turn it on as follows:
Run 
This can be customized without code, on the widget customization page:
실시간 댓글 비활성화 
기본적으로 FastComments는 실시간 댓글 기능이 활성화되어 있습니다.
즉, 댓글 스레드를 보는 모든 사용자는 동일한 내용을 보게 됩니다.
예를 들어, 댓글이 추가되면 해당 댓글이 표시됩니다. 댓글이 수정되거나 삭제되면, 그 댓글들은 스레드를 보는 모든 사용자에게도 수정되거나 삭제됩니다. 투표 및 모든 모더레이션 작업도 마찬가지입니다.
하지만, 이를 비활성화할 수 있습니다:
Run 
코드를 사용하지 않고도 이 작업을 할 수 있습니다. 위젯 맞춤설정 페이지에서 "실시간 댓글 비활성화" 섹션을 확인하세요.
새 실시간 댓글을 하단에 표시 
기본적으로 새 라이브 댓글은 실시간으로 게시될 때 댓글 목록의 맨 위에 나타납니다.
이 옵션을 활성화하면 새 라이브 댓글이 대신 목록의 맨 아래에 추가됩니다. 이는 사용자가 댓글 스레드를 보는 동안 댓글이 실시간으로 게시될 때 댓글이 나타나는 방식에 영향을 줍니다.
Run 
이 설정을 활성화하면:
- 다른 사용자가 게시한 새 라이브 댓글이 댓글 목록의 하단에 나타납니다
- 사용자는 새 댓글이 기존 댓글 아래에 실시간으로 나타나는 것을 보게 됩니다
- 이것은 라이브 댓글 업데이트에만 영향을 미치며 초기 페이지 로드에는 영향을 주지 않습니다
- 사용자가 토론을 따라갈 때 읽기 흐름을 유지하는 데 도움이 될 수 있습니다
이 설정은 새 라이브 댓글이 실시간으로 도착할 때 배치되는 위치에만 영향을 미친다는 점에 유의하세요. 페이지 로드 시의 초기 정렬 순서에는 영향을 주지 않습니다.
무한 스크롤 활성화 
기본적으로 FastComments 위젯은 모든 보이는 댓글이 보이도록 세로 크기를 자동으로 조정합니다. 페이지 매김은 현재 페이지 끝에 있는 "다음 보기" 버튼으로 이루어지며, 이는 대부분의 사용자에게 가장 쾌적한 상호작용이라고 판단했습니다.
그러나 무한 스크롤이 더 선호되는 경우도 있습니다. 예를 들어, 당사 Stream Chat 제품에서 이 기능을 사용합니다.
"다음 보기" 버튼을 숨기고 enableInfiniteScrolling 플래그를 true로 설정하여 무한 스크롤로 전환할 수 있습니다:
Run 
또한 이를 위해 사용자 지정 CSS를 추가해야 합니다. 예를 들어 스크롤을 활성화하려면 .comments 선택자에 대한 사용자 지정 CSS를 추가하세요:
Run 
전체 작동 예시는 다음과 같습니다:
Run 
위 예제에서는 customCSS 속성을 사용했지만, 성능상의 이유로 위젯 구성 UI를 대신 사용하는 것이 권장됩니다. 사용자 지정 CSS 문서 참조.
기본 정렬 방향 변경 
기본적으로 FastComments는 댓글을 "가장 관련성 높은" 정렬 방향으로 정렬합니다.
가장 관련성 높은 정렬은 댓글이 남겨진 시간과 추천 수를 정렬에 반영합니다.
사용자는 댓글 위젯 UI에서 정렬 방향을 '가장 오래된' 또는 '최신 순'으로 변경할 수 있습니다.
하지만 기본값은 세 가지 중 어떤 것으로든 변경할 수 있습니다. 예를 들어 가장 오래된 댓글을 먼저 표시하려면:
Run 
defaultSortDirection의 값을 "OF"로 설정하여 정렬 방향을 "OF"로 설정합니다.
최신 순 정렬 방향의 경우에는 다음과 같이 합니다:
Run 
defaultSortDirection의 유효한 값은 다음과 같습니다:
- MR: "가장 최근"
- NF: "최신 순"
- OF: "가장 오래된 순"
이 작업은 코드 없이도 할 수 있습니다. 위젯 맞춤 설정 페이지에서 '기본 정렬 방향' 섹션을 참조하세요.
참고로, 각 페이지의 댓글은 각 정렬 방향에 대해 미리 계산되어 있으므로 모든 정렬 방향에서 성능은 동일합니다.
모든 댓글을 한 번에 렌더링하기(페이지 매김 비활성화) 
페이지네이션을 비활성화하고, 모든 댓글을 한 번에 렌더링하려면 startingPage를 -1로 설정하세요.
Run 
댓글 뒤에 답글 상자 배치 
기본적으로 댓글 입력 영역은 댓글 스레드의 앞에 있습니다. 그러나 이 구성 매개변수를 true로 설정하면 이를 뒤로 이동할 수 있습니다.
Run 
이것은 코드 없이 위젯 사용자 지정 페이지에서 맞춤 설정할 수 있습니다:
댓글 길이 제한 
댓글 입력 필드에 입력할 수 있는 최대 문자 수는 maxCommentCharacterLength 매개변수로 제한할 수 있습니다.
기본값은 2000입니다.
이미지 URL과 같은 항목은 길이 계산에 포함되지 않습니다.
Run 
이 설정은 위젯 맞춤 설정 페이지에서 코드 없이 사용자화할 수 있습니다:
멀티라인 댓글 비활성화 
기본적으로 FastComments는 사용자가 기본 문자 수 제한 내에서 원하는 만큼 여러 줄로 댓글을 입력할 수 있도록 허용합니다.
그러나 사용자가 한 줄의 텍스트만 입력하도록 제한해야 할 경우가 있습니다. 예시 사용 사례로는 온라인 입찰이나 실시간 채팅이 있으며, FastComments 는 이러한 용도로 사용될 수 있습니다.
다음과 같이 useSingleLineCommentInput 플래그를 활성화합니다:
Run 
이 작업은 코드 없이도 수행할 수 있습니다. 위젯 사용자화 페이지에서 "Enable Single-Line Comment Input" 섹션을 참조하세요.
참고로, 각 페이지에 대한 댓글은 각 정렬 방향별로 미리 계산되므로 모든 정렬 방향이 동일한 성능을 보입니다.
사용자별 댓글 수 제한 
기본적으로 각 사용자는 동일한 1분 동안 최대 5 comments를 제출할 수 있습니다.
이것은 user id, anon user id, and ip address (hashed)로 추적됩니다.
이는 코드 없이 위젯 맞춤 설정 페이지에서 사용자화할 수 있습니다:
참고로 comment creation API를 사용 중인 경우, 요청에 사용자의 원래 ip 주소를 당사 백엔드로 전달하는 것이 좋습니다. 이렇게 하면 속도 제한이 적용
사용자별로 적용되고 귀하의 계정에 전역적으로 적용되지 않습니다.
새 최상위 댓글 금지 
Setting noNewRootComments to true will cause the widget to hide the root reply area, but still allow users to reply
하위 댓글에 답글을 달 수 있게 합니다. 예를 들어, 페이지 로드 시 조건부로 이 값을 설정하여 일부 사용자만 최상위 댓글을 남길 수 있도록 할 수 있습니다.
Run 
최대 답글 깊이 
기본적으로 FastComments는 답글의 중첩을 무제한으로 허용하여 사용자가 답글에 계속해서 답글을 달 수 있는 스레드 구조를 만듭니다.
maxReplyDepth 옵션은 답글 스레드가 얼마나 깊게 중첩될 수 있는지를 제한할 수 있게 해줍니다. 최대 깊이에 도달하면 해당 수준의 댓글에는 더 이상 답글 버튼이 표시되지 않습니다.
Run 
With maxReplyDepth set to 2:
- 사용자는 최상위 수준(깊이 0)에 댓글을 달 수 있습니다
- 사용자는 최상위 댓글에 답글을 달 수 있습니다 (깊이 1)
- 사용자는 그 답글들에 다시 답글을 달 수 있습니다 (깊이 2)
- 깊이 2를 넘어서 추가 답글은 허용되지 않습니다
Setting to 1 would only allow replies to top-level comments, creating a flatter discussion structure.
maxReplyDepth를 0으로 설정하면 모든 답글이 비활성화되어 최상위 댓글만 허용됩니다. 지정하지 않으면 답글은 무제한으로 중첩될 수 있습니다.
이용약관 동의 요구 
FastComments는 처음 댓글을 다는 사용자가 댓글을 제출하기 전에 이용 약관에 동의하도록 요구할 수 있게 합니다.
활성화하면:
- 익명 사용자는 댓글을 달 때마다 이용 약관 체크박스를 보게 됩니다
- 인증된 사용자는 첫 댓글에서만, 또는 이용 약관을 업데이트할 때 체크박스를 보게 됩니다
설정
위젯 사용자 지정 페이지로 이동하여 "이용 약관 동의 필요" 체크박스를 활성화하세요. 활성화하면 다음 옵션을 보게 됩니다:
- 이용 약관 텍스트 모드: 기본적으로 체크박스는 "이용 약관 및 개인정보처리방침에 동의합니다"라는 문구를 두 문서에 대한 링크와 함께 표시합니다. "언어별 텍스트 맞춤"을 선택하면 각 언어에 대해 자체 문구를 제공할 수 있습니다.
- 이용 약관 최종 업데이트 날짜: 이용 약관을 업데이트할 때 이 날짜를 설정하세요. 이 날짜 이전에 동의한 사용자는 다시 동의해야 합니다.
작동 방식
- 이용 약관 동의 타임스탬프는 사용자별 및 댓글별로 저장됩니다
- 사용자가 이용 약관에 동의하면 해당 날짜가 사용자 프로필(테넌트별)에 기록됩니다
- 만약 "최종 업데이트" 날짜가 사용자의 동의 날짜보다 이후라면, 사용자는 다시 동의해야 합니다
- 추적할 수 없는 익명 사용자의 경우, 체크박스는 모든 댓글 제출 시마다 나타납니다
싱글 사인온(SSO) 개요 
SSO, 또는 싱글 사인온은 FastComments를 사용하기 위해 별도의 계정을 만들지 않고도 사용자나 귀하가 FastComments를 사용할 수 있게 해주는 규약 집합입니다.
익명 댓글을 허용하지 않는다고 가정하면, FastComments에서 댓글을 달기 위해서는 계정이 필요합니다. 우리는 이 가입 과정을 매우 간단하게 만듭니다 — 사용자는 댓글을 남길 때 이메일만 입력하면 됩니다. 그렇지만 일부 사이트는 그조차도 추가적인 마찰이라고 느낄 수 있다는 것을 이해하고 있습니다.
전체 사이트에 대해 하나의 로그인 흐름만 가지도록 하여 그 마찰을 줄일 수 있습니다.
How do I get it?
모든 계정 유형은 현재 SSO에 접근할 수 있습니다. 다만 SSO 사용자 수의 최대치는 패키지에 따라 달라집니다. 다른 기능들과 마찬가지로 Pro 플랜 이상은 직접적인 개발 지원을 제공합니다.
옵션들을 비교한 후 각 항목의 세부 사항으로 들어갑니다.
User and Comment Migrations
Disqus와 같은 SSO를 제공하는 플랫폼에서 마이그레이션하는 경우, 이미 사용자와 그들의 댓글이 있을 것입니다.
댓글은 API, 우리의 Import UI, 또는 고객 지원을 통해 마이그레이션의 일부로 가져옵니다. 이전 플랫폼을 지원하는 경우 Import UI를 사용하는 것이 권장되며, 이는 오류 처리, 아바타 및 미디어 추출 및 업로드, 그리고 배치 작업 모니터링 시스템을 포함합니다.
사용자 계정 자체는 댓글 스레드를 처음 볼 때 자동으로 추가됩니다. 또는 API를 통해 사전 추가할 수도 있지만, 이 작업은 큰 이점이 많지 않습니다.
댓글이 가져와졌고 SSO 사용자가 API로 수동 추가되지 않았다면, 댓글은 사용자가 어떤 댓글 스레드를 처음 볼 때 해당 사용자의 계정으로 자동으로 마이그레이션됩니다. 그러면 그들은 원래 작성한 댓글을 관리, 편집 및 삭제할 수 있게 됩니다.
자동 마이그레이션은 이메일이나 사용자 이름을 통해 수행됩니다. 일부 플랫폼은 Disqus처럼 내보내기 시 이메일을 제공하지 않으므로 이 경우 사용자 이름으로 대체합니다.
- 일치하는 사용자 이름과 SSO 페이로드에 이메일을 전달하는 한, 알림 및 멘션이 작동하도록 개별 댓글 객체에 이메일을 추가합니다.
댓글과 사용자를 한 번에 가져오고 싶다면, 사용자가 API를 통해 가져온 후 고객 지원과 협력하여 댓글을 해당 사용자 계정으로 마이그레이션하세요.
요약하자면 마이그레이션을 위한 가장 쉬운 경로는 다음과 같습니다:
- 댓글을 가져옵니다.
- 아바타 및 기타 미디어는
Manage Data -> Imports의 Import UI를 사용하는 경우 자동으로 마이그레이션됩니다.
- 아바타 및 기타 미디어는
- Secure 또는 Simple SSO를 설정합니다.
- 사용자가 처음 로그인할 때 사용자별로 자동 마이그레이션이 이루어지게 둡니다.
- 사용자의 댓글 수가 50k 미만인 경우 보통 페이지 로드 시간에 1초 미만만 추가됩니다.
WordPress Users
귀하가 우리 WordPress 플러그인을 사용하고 있다면 작성할 코드는 없습니다! 플러그인의 관리자 페이지로 이동하여 SSO 설정을 클릭한 다음 활성화하면 됩니다.
그러면 API 키를 생성하고 이를 귀하의 WordPress 설치로 전송하며 SSO를 켜는 단일 버튼 클릭 마법사로 이동합니다. 이를 단일 버튼 클릭으로 통합해 두었습니다.
플러그인을 처음 설치하는 경우 관리자 페이지의 SSO 설정 버튼을 보기 전에 설정 과정을 완료해야 한다는 점을 유의하세요.
WordPress SSO - Moderators
현재 FastComments WordPress 플러그인으로 댓글을 달 때 모더레이터 옆에 "Moderator" 배지가 표시되려면, 해당 사용자들은 FastComments 대시보드에서 Moderator로도 추가되어 있어야 하며 이메일이 확인되어야 합니다.
Custom Integrations
커스텀 통합의 경우 두 가지 옵션이 있습니다.
Option One - Secure SSO
Secure SSO를 사용하면 FastComments는 댓글을 작성하고 투표하며 댓글을 읽는 사용자가 귀하의 사이트의 실제 사용자임을 알 수 있습니다.
유효한 페이로드만 생성하면, 사용자는 항상 원활한 댓글 작성 경험을 갖게 됩니다.
Secure SSO에서는 SSO 페이로드가 HMAC 인증을 사용하여 서버 측에서 생성된 다음 클라이언트의 위젯에 전달됩니다.
Secure SSO에서는 사용자의 계정이 FastComments 사용자 기반의 나머지와 완전히 분리됩니다. 즉, 파트너 A와 파트너 B가 있을 때 각 파트너는 모두 사용자 이름이 "Bob"인 SSO 사용자를 가질 수 있습니다.
Requirements
- 백엔드 개발에 대한 기본 지식.
- 비밀 API 키를 다루는 기본 지식.
- API 개발 또는 서버 측 렌더링에 대한 기본 지식.
Pros
- 안전함.
- 원활한 댓글 작성 경험.
Cons
- 백엔드 개발이 필요함.
Updating User Data
Secure SSO를 사용하면 SSO 사용자 페이로드를 전달할 때마다 최신 정보로 사용자를 업데이트합니다. 예를 들어,
사용자의 사용자 이름이 X였고 SSO 페이로드에 Y를 전달하면 그들의 사용자 이름은 Y가 됩니다.
이 방법으로 값을 제거하려면 값을 null로 설정하세요 (undefined가 아님).
Secure SSO API
SSO 사용자와 상호작용하기 위한 API도 제공합니다. the docs를 참조하세요.
Secure SSO를 사용할 때 사용자는 페이지 로드 시 백그라운드에서 자동으로 생성된다는 점에 유의하세요. 사용자를 대량으로 가져올 필요가 없습니다.
Option Two - Simple SSO
Secure SSO의 대안은 단순히 사용자 정보를 댓글 위젯에 전달하는 Simple SSO입니다.
Simple SSO에서는 이메일을 제공할 필요가 없지만, 이메일이 없으면 그들의 댓글은 "Unverified"로 표시됩니다.
참고! 2022년 초부터 Simple SSO의 사용자 이름은 FastComments.com 전체에서 고유할 필요가 없습니다.
이상적으로 Simple SSO는 백엔드 접근을 제공하지 않는 플랫폼에서 개발할 때만 선택해야 합니다.
Requirements
- 클라이언트 측 개발에 대한 기본 지식.
- 적어도 사용자 이메일을 알고 있어야 함.
Pros
- 단순함.
- 모든 활동은 여전히 검증됨.
- 사용자는 자신들의 사용자 이름이나 이메일을 입력하지 않음.
Cons
- 클라이언트 측 페이로드가 임의로 조작되어 어떤 사용자로도 될 수 있기 때문에 Secure SSO보다 보안성이 낮음.
Simple SSO API
Simple SSO 흐름을 통해 자동으로 생성된 사용자는 SSOUser 객체로 저장됩니다. 이들은 SSOUser API를 통해 접근하고 관리할 수 있습니다. the docs를 참조하세요.
맞춤 통합 - 보안 싱글 사인온(SSO) 
FastComments Secure SSO는 SSO를 구현하는 메커니즘으로 HMAC-SHA256 암호화를 사용합니다. 먼저 전체 아키텍처를 살펴보고 예제와 상세 단계를 제공합니다.
유사한 SSO 메커니즘을 사용하는 다른 제공업체에서 마이그레이션하는 방법 및 차이점에 관한 문서도 있습니다.
The flow looks like this:
Secure SSO는 풀스택 개발을 포함하므로 Java/Spring, NodeJS/Express, 그리고 순수 PHP의 전체 동작 코드 예제가 현재 on GitHub.
NodeJS 예제에서는 ExpressJS를, Java 예제에서는 Spring을 사용했지만 FastComments SSO를 구현하는 데 이 런타임에서 특정 프레임워크나 라이브러리가 필요하지 않습니다 - 네이티브 암호화 패키지로 충분합니다.
FastComments SSO로 새로운 API 엔드포인트를 작성할 필요가 없습니다. 단순히 비밀 키로 사용자의 정보를 암호화하고 페이로드를 댓글 위젯에 전달하면 됩니다.
API 시크릿 키 받기
Your API Secret can be retrieved from this page. 이 페이지는 내 계정(My Account)에서 API/SSO 타일을 클릭한 다음 "API 시크릿 키 받기"를 클릭해서도 찾을 수 있습니다.
댓글 위젯 매개변수
댓글 위젯에 대한 상위 수준 API 문서는 here에서 찾을 수 있습니다.
이제 이 매개변수들이 무엇을 의미하는지 자세히 살펴보겠습니다.
댓글 위젯은 구성 객체를 사용합니다 - FastComments를 사용하여 고객 id(tenantId)를 전달하고 있다면 이미 이 객체를 전달하고 있는 것입니다.
SSO를 활성화하려면 새로운 "sso" 객체를 전달하세요. 이 객체는 다음 매개변수를 포함해야 합니다. 값들은 서버 측에서 생성되어야 합니다.
- userDataJSONBase64: 사용자의 데이터(JSON 형식)를 Base64로 인코딩한 값.
- verificationHash: UNIX_TIME_MILLIS + userDataJSONBase64로 생성된 HMAC-SHA256 해시.
- timestamp: Epoch 타임스탬프, 밀리초 단위. 미래여서는 안 되며, 과거 2일을 초과해서는 안 됩니다.
- loginURL: 댓글 위젯이 사용자 로그인을 위해 표시할 수 있는 URL.
- logoutURL: 댓글 위젯이 사용자 로그아웃을 위해 표시할 수 있는 URL.
- loginCallback: 로그인 URL 대신 제공될 경우, 댓글 위젯이 로그인 버튼을 클릭할 때 호출할 함수.
- logoutCallback: 로그아웃 URL 대신 제공될 경우, 댓글 위젯이 로그아웃 버튼을 클릭할 때 호출할 함수.

사용자 객체

Moderators and Administrators
관리자 및 모더레이터의 경우, SSOUser 객체에 각각 isAdmin 또는 isModerator 플래그를 전달하세요.
알림
알림을 활성화하거나 비활성화하려면 optedInNotifications 값을 각각 true 또는 false로 설정하세요. 사용자가 이 값이 포함된 SSO 페이로드로 페이지를 처음 로드하면 알림 설정이 업데이트됩니다.
또한, 사용자가 구독한 페이지에서의 활동에 대해 (인앱 알림뿐만 아니라) 이메일 알림을 받게 하려면 optedInSubscriptionNotifications를 true로 설정하세요.
VIP 사용자 및 특수 라벨
선택적 "displayLabel" 필드를 사용하여 사용자 이름 옆에 특수 라벨을 표시할 수 있습니다.
인증되지 않은 사용자
인증되지 않은 사용자를 나타내려면 userDataJSONBase64, verificationHash, 또는 timestamp를 채우지 마세요. loginURL을 제공하세요.
이 사용자들은 댓글을 달 수 없으며, 대신 로그인 메시지(구성에 따라 메시지, 링크 또는 버튼)가 표시됩니다.
사용자 데이터 직렬화 및 해싱에 대한 직접 예제
자세한 예제는 여기 (js), 여기 (java) 및 여기 (php)를 참조하세요.
어떤 통합 작업도 복잡하고 어려울 수 있다는 것을 이해합니다. 담당자에게 문의하거나 support page를 이용하는 것을 주저하지 마세요.
맞춤 통합 - 단순 싱글 사인온(SSO) 
Simple SSO를 사용하면 댓글 위젯에 사용자의 정보를 제공하여 사용자가 댓글을 달 때 사용자 이름이나 이메일을 입력할 필요가 없게 할 수 있습니다.
Simple SSO는 다음과 같이 구성할 수 있습니다:
Run 
사용자는 로그인된 상태가 되며, 내부적으로 SSO 사용자가 생성됩니다. API에서 가져온 경우 사용자의 createdFromSimpleSSO는 true로 설정됩니다.
Notes:
- 이메일은 Simple SSO의 고유 식별자입니다.
- Simple SSO에 이메일을 제공하는 것은 필수가 아니지만, 기본적으로 이들의 댓글은 "확인되지 않음"으로 표시됩니다. 이메일이 제공되지 않으면 사용자는 완전히 인증될 수 없습니다.
- NEW 2022년 1월 이후: 사용자 이름은 fastcomments.com 전체에서 고유할 필요가 없습니다
- 이메일이 제공되고 사용자가 원래 Secure SSO에서 생성되지 않은 경우 Simple SSO는 SSO 사용자를 자동으로 생성하고 업데이트할 수 있습니다.
- 사용자에 대한 배지는
badgeConfig속성으로 지정할 수 있습니다.badgeIds배열에는 사용자와 연결할 글로벌 배지의 ID들이 포함됩니다.pageBadgeIds배열에는 현재 페이지(urlId)에 범위가 지정된 배지 ID들이 포함되며 — 이러한 배지는 할당된 페이지에서만 표시됩니다.override가true로 설정되면 기존에 표시된 배지들을 대체합니다(글로벌과 페이지 범위 배지는 각각 독립적으로 대체됩니다);false이면 기존 배지에 추가됩니다.
맞춤 통합 - Disqus SSO에서 마이그레이션 
Disqus와 FastComments Secure SSO 사이의 가장 큰 차이점은 Disqus는 암호화에 SHA1을 사용하는 반면, 우리는 SHA256을 사용한다는 점입니다.
이는 Disqus에서의 마이그레이션이 쉽다는 것을 의미합니다 - 사용되는 해싱 알고리즘을 SHA1에서 SHA256으로 변경하고 UI에 전달되는 속성 이름들을 업데이트하면 됩니다.
맞춤 통합 - Commento SSO에서 마이그레이션 
Commento는 근본적으로 다른 SSO 접근 방식을 사용합니다 - 사용자를 인증하기 위해 호출하는 엔드포인트를 보유하도록 요구합니다.
FastComments는 그와 반대로 작동합니다 - 단순히 비밀 키를 사용해 사용자의 정보를 인코딩하고 해시한 후 전달하면 됩니다.
싱글 사인온으로 댓글 스레드 보호 
FastComments SSO (자세한 내용)는 사용자가 다른 플랫폼에 로그인하지 않고도 댓글을 남길 수 있는 방법을 제공합니다.
그러나 이 설정만으로는 댓글 스레드가 안전해지지 않습니다. 기본적으로 댓글 데이터는 공개 정보이므로 페이지를 볼 수 있는 누구나 댓글을 볼 수 있습니다.
설정을 변경하면 관리자나 유효한 SSO 사용자에 의해서만 댓글을 가져오도록 제한할 수 있습니다.
코드 없는 설정
SSO가 설정된 경우, 댓글 스레드의 보기 및 상호작용을 방지하려면 사용자 지정 규칙을 생성하면 됩니다.
해당 작업을 수행할 때 SSO를 검색하면 다음 옵션을 찾을 수 있습니다:
해당 옵션을 활성화하고 사용자 지정 규칙을 저장하세요.
특정 도메인 또는 페이지만 보호하기
특정 도메인 또는 페이지만 보호하려면 사용자 지정 규칙을 간단히 구성하면 됩니다.
사용자 지정 UI 상단에서 두 입력 필드, Domain 및 URL ID를 찾을 수 있습니다.
특정 도메인만 보호하려면 해당 도메인을 "domain" 필드에 입력하세요.
특정 페이지를 보호하려면 페이지 URL을 "URL ID" 필드에 입력하세요. FastComments와의 사용자 지정 통합이 있는 경우 URL 대신 여기에서 ID 유형을 입력할 수 있습니다.
보안 수준
SSO를 요구할 때 Simple SSO 또는 Secure SSO 중 어느 것을 요구할지 결정해야 합니다. Simple SSO를 요구하면 둘 다 허용되지만, Secure SSO를 요구하면 해당 콘텐츠는 보기 위해 API key로 해시된 Secure SSO 페이로드로 가져와야 합니다.
보안 수준 옵션은 "Require SSO To View Comments"를 선택하면 표시됩니다.
읽기 이상의 보호
이 옵션을 활성화하면 사용자가 SSO로 로그인하지 않은 경우 해당 페이지나 도메인에 댓글을 달 수 없도록 보호합니다.
주의사항
SSO 통합 이전에 댓글을 작성한 사용자는 SSO 통합을 통해 로그인하지 않는 한 그 댓글을 볼 수 없습니다.
익명 댓글 만료 방지 
FastComments는 원하는 일수 후에 인증되지 않은 댓글을 삭제하도록 구성할 수 있습니다. 이는 스팸 방지에 도움이 됩니다.
기본적으로는 삭제되지 않습니다.
이는 중재 설정 페이지에서 구성하거나 비활성화할 수 있습니다.
이메일 입력 비활성화 
사용자가 댓글을 달 때 로그인되어 있지 않으면 이메일을 제공하라는 요청을 받습니다.
이렇게 하면 해당 사용자에 대해 "확인되지 않은 세션"이 생성되며, 이메일을 통해 해당 세션을 확인하도록 요청합니다.
일부 사이트나 애플리케이션에서는 댓글을 달거나 투표할 때 사용자에게 이메일을 요청하지 않는 것이 바람직할 수 있습니다.
익명 댓글 쓰기를 활성화하면 이메일 입력 필드가 선택 사항이 됩니다. 그러나 완전히 비활성화할 수도 있습니다. 먼저 익명 댓글 쓰기를 활성화하면 이메일 입력 필드를 비활성화하는 옵션이 나타납니다.
이 설정을 켜면 이메일 필드는 모든 댓글 제품에서 전혀 표시되지 않습니다.
참고: 이 구성에서는 사용자가 계정을 생성하고 https://fastcomments.com에 로그인하지 않는 한 모든 댓글이 확인되지 않은 상태가 됩니다.
다음 항목을 고려할 수 있습니다: 미확인 라벨 비활성화.
확인되지 않음 라벨 비활성화 
기본적으로 FastComments는 확인되지 않은 브라우저 세션을 가진 사용자에게 남겨진 댓글에 대해 "Unverified Comment" 라벨을 표시합니다. 확인되지 않은 댓글 작성에 대해 자세히 알아보려면 여기를 참조하세요.
Run 
또한, 이 기능은 코드를 작성하지 않고 Customization UI에서 사용할 수 있습니다:
콜백 
댓글 위젯용 모든 라이브러리(현재 Angular, React, Vue)는 콜백을 지원합니다.
콜백은 구성 객체(configuration object)에 지정되며, 각 라이브러리에서 동일한 시그니처를 가집니다.
지원되는 콜백은:
- onInit
- onAuthenticationChange
- onRender
- commentCountUpdated
- onReplySuccess
- onVoteSuccess
- onImageClicked
- onOpenProfile
- onCommentSubmitStart
- onCommentsRendered
정확한 시그니처는 TypeScript 정의에서 확인할 수 있습니다.
다음은 모든 콜백을 사용한 예제입니다:
Run 
사용자 로케일 수동 지정 
기본적으로 FastComments는 사용자의 시스템 및 브라우저에서 결정된 로케일에 따라 댓글 위젯을 렌더링합니다.
사용자가 댓글을 작성하거나 로그인하면, 저희는 사용자가 마지막으로 사용한 로케일을 업데이트하고 이메일 전송 시에도 이를 사용합니다.
이는 댓글 위젯이 사용자에게 어떻게 번역되어 표시되는지에 영향을 줍니다. 로케일은 사용자의 언어와 지역으로 구성되므로, 로케일을 구성하면 일반적으로 사용자에게 표시되는 텍스트의 언어가 변경됩니다.
Via The UI
위젯 커스터마이징 UI에서 이 값을 정의할 수 있습니다. "Locale / Language" 옵션을 참조하세요:
Via Code
원하는 로케일로 이를 재정의할 수 있습니다.
Run 
지원되는 언어 및 로케일 코드
지원되는 언어와 해당 로케일 코드의 전체 목록은 여기에서 확인할 수 있습니다.
SSO 참고
SSO를 사용하는 경우, 이메일 등 다른 항목들이 사용자에게 올바르게 현지화되도록 user 객체에 사용자의 locale을 전달하는 것이 좋습니다.
페이지 제목 
현재 페이지 제목은 지정된 urlId에 연결되어 모더레이션 도구에서 사용하기 위해 저장됩니다.
기본적으로 이는 document.title에서 가져옵니다.
원한다면, 다음과 같이 페이지 제목을 지정할 수 있습니다:
Run 
새 답글 방지 및 투표 비활성화 
readonly 플래그를 true로 설정하면 새 댓글이나 투표를 남길 수 없도록 댓글 달기를 잠글 수 있습니다.
댓글도 편집하거나 삭제할 수 없습니다.
Run 
코드를 사용하지 않고도 위젯 맞춤 설정 페이지에서 도메인 전체 또는 페이지별로 이 설정을 변경할 수 있습니다:
업데이트!
2022년 11월부터는 관리자가 답글 입력란 위의 점 3개 메뉴를 통해 스레드를 라이브로 잠그거나 잠금을 해제할 수 있습니다.
이렇게 하면 새 댓글은 차단되지만 투표는 계속 허용되고 사용자가 원할 경우 자신의 댓글을 삭제할 수도 있습니다. 반면 readonly는 이러한 것들을 허용하지 않습니다.
이것은 Page API의 isClosed 필드에 해당합니다.
링크 도메인 제한 
기본적으로 FastComments는 모든 외부 사이트로의 링크를 허용합니다.
This can be restricted to instead a desired list of sites, or domains. Attempting to post a link to a site, or domain, 정의된 목록에 없는 사이트나 도메인으로 링크를 게시하려고 하면 사용자에게 오류가 표시됩니다.
이 검증은 댓글 위젯과 API에만 적용됩니다. 임포트에는 영향을 주지 않습니다.
이 설정은 코드 없이 위젯 사용자화 페이지에서 수행됩니다:
댓글 수 및 모든 중첩 답글 포함 계산 
댓글 위젯 상단에 표시되는 댓글 수는 페이지나 게시물 자체에 직접 달린 답글을 의미하는 "top-level" 댓글만을 표시할 수도 있고, 또는 모든 중첩된 댓글의 수를 셀 수도 있습니다.
기본적으로 이것은 true입니다 - 후자의, 즉 모든 댓글의 수를 셉니다. 댓글 위젯의 이전 버전에서는 기본값이 false였습니다.
우리는 동작을 변경하여 모든 중첩 댓글의 수가 되도록 countAll 플래그를 true로 설정할 수 있습니다.
Run 
카운트가 오직 최상위 댓글만 반영하도록 하려면, 플래그를 false로 설정합니다.
Run 
이 동작은 현재 코드 변경 없이 사용자화할 수 없습니다.
댓글 작성자 링크 활성화 
기본적으로 FastComments는 사용자에게 댓글 내용, 사용자 이름, 그리고 이메일만 요청합니다.
하지만 경우에 따라 사용자가 자신의 블로그나 웹사이트 링크를 남기도록 하고 싶을 수 있습니다.
사용자의 웹사이트 URL을 입력할 수 있는 추가 입력 필드를 표시하려면 enableCommenterLinks 플래그를 true로 설정하면 됩니다:
Run 
해당 URL이 제공되면 사용자의 계정이 업데이트되고 과거 및 향후 모든 댓글에서 해당 사용자의 이름은 이 URL로 링크됩니다.
이 설정은 위젯 커스터마이즈 페이지에서 코드 없이도 변경할 수 있습니다:
모더레이션 그룹 
이 목록은 모더레이션 그룹 페이지에서 생성된 ID들의 목록입니다.
지정하면, 해당 설정을 사용하여 남긴 댓글에는 동일한 moderationGroupIds 세트가 포함됩니다.
만약 Moderator가 하나 이상의 모더레이션 그룹 을 정의해 둔 경우, 그들은
자신의 그룹과 연관된 댓글만 Moderate Comments 페이지에서 보게 됩니다.
Run 
그룹 멘션 ID 
@mentions 자동 완성에 사용할 id 목록입니다. 교집합 그룹이 없는 사용자에게 태그되는 것을 방지하려는 경우에 유용합니다.
지정하면 @ 문자를 입력한 후 자동 완성에는 다른 그룹에 속한 사용자만 제공됩니다.
Run 
타사(서드파티) 쿠키 우회 
인증을 위해 FastComments는 브라우저에서 타사 쿠키가 활성화되어 있어야 합니다. 쿠키가 없으면(이메일 입력 필드가 숨겨져 있지 않은 한) 사용자는 항상 댓글을 남길 때 이메일을 입력해야 하며, 댓글은 기본적으로 항상 검증되지 않은 상태로 표시됩니다.
이를 우회하려면 타사 쿠키 우회를 활성화할 수 있습니다.
이 설정이 활성화되면 사용자가 로그인되고 있음을 알리는 작은 팝업이 표시됩니다. 이 팝업은 사용자가 댓글 위젯과 상호작용할 때마다 표시됩니다; 예를 들어 댓글을 남길 때 표시됩니다.
코드에서는 enableThirdPartyCookieBypass 플래그를 true로 설정하여 이 기능을 활성화할 수 있습니다:
Run 
또한 위젯 사용자화 UI에서 Enable Third-Party Cookie Popup 항목을 통해 이 설정을 구성할 수도 있습니다:
답글이 있는 댓글 삭제하기 
기본적으로 사용자는 자신의 댓글을 삭제할 수 있습니다. 또한, 댓글을 삭제하면 해당 스레드의 모든 하위 및 임시 댓글이 자동으로 삭제됩니다. 이 동작은 실시간으로 적용됩니다.
You can restrict this in the following ways:
- 대신 삭제된 댓글을 익명 처리하여 이름과 내용을
[deleted]또는 사용자 지정 값으로 설정합니다. - 답글이 있는 경우 댓글 삭제를 허용하지 않습니다. 사용자 지정 가능한 오류 메시지가 표시됩니다.
- 댓글에 답글이 있는 경우 삭제 권한을 관리자와 중재자에게만 제한합니다.
This can be configured via the Comment Thread Deletion section in the Widget Customization UI.
상단 바에 배지 표시 
기본적으로 FastComments는 사용자 배지를 댓글 스레드 내의 사용자 댓글에만 표시합니다.
그러나 위젯 사용자화 페이지에서 이 기능을 활성화하면 댓글 작성 양식 위에 있는 이름 옆에 사용자 배지를 표시할 수 있습니다:
이렇게 하면 사용자가 댓글을 작성할 때 상단 바 영역에서 이름 옆에 배지가 표시되어 업적과 상태가 더 눈에 띄게 됩니다.
이 기능은 작동하려면 위젯 사용자화 UI에서 활성화되어 있어야 합니다. 서버 수준에서 켜져 있어도 코드 구성에서 showBadgesInTopBar 플래그를 false로 설정하여 선택적으로 비활성화할 수 있습니다:
Run 
온라인 사용자 목록 표시 
기본적으로 FastComments는 페이지에 사용자 목록을 표시하지 않습니다.
댓글 위젯과 함께 현재 페이지를 보고 있는 사람들의 목록을 렌더링할 수 있습니다. 이 목록은 사용자가 들어오고 나갈 때 실시간으로 업데이트되며, 이름, 아바타 및 온라인 표시기를 보여줍니다.
레이아웃 옵션은 세 가지가 있습니다:
1- 상단: 댓글 위에 겹쳐진 아바타가 가로로 표시됩니다.2- 왼쪽: 위젯 왼쪽에 이름과 온라인 점이 있는 사이드바가 표시됩니다.3- 오른쪽: 위젯 오른쪽에 동일한 사이드바가 표시됩니다.
기능을 활성화하려면 usersListLocation 플래그를 설정하세요:
Run 
기본적으로 목록은 현재 온라인 상태인 사용자만 표시합니다. 과거에 페이지에 댓글을 남겼지만 현재 보고 있지 않은 사람들도 포함하려면 usersListIncludeOffline을 true로 설정하세요:
Run 
과거 댓글 작성자는 초록색 온라인 점 없이 렌더링되어 누가 지금 접속해 있는지 명확하게 보여줍니다.
비공개 프로필을 가진 사용자는 일반 아바타와 "Private Profile" 레이블로 표시되어 신원을 밝히지 않으면서도 집계 수는 정확하게 유지됩니다.
코드 없이도 구성할 수 있습니다. 위젯 커스터마이즈 페이지에서 "Users List Location" 옵션을 참조하세요. 위치가 Off가 아닌 값으로 설정되면 그 아래에 "Include past commenters" 체크박스가 나타납니다.
실시간 사용자 500명 이후에는 목록이 최대 30초까지 최신이 아닐 수 있습니다.