Discourse가 비디오 게임 커뮤니티 포럼으로서 이러한 니치한 요구사항을 모두 충족할 수 있을까요?

디스코스 커뮤니티 여러분, 안녕하세요.

저는 스타트업 비디오 게임을 개발 중이며, 이 게임을 위해 전용 포럼을 만들 계획입니다. 제 목표가 다소 과감할 수 있으니, 이 플랫폼에 더 경험이 많은 분에게 디스코스를 선택하는 것이 올바른 결정인지 조언을 구하고 싶습니다. 저는 완전한 통합을 계획하고 있습니다. 즉, 포럼의 알림이 게임 내로 전달되고, 그 반대도 마찬가지입니다. 예를 들어, 오프라인 상태인 플레이어에게 개인 메시지를 보내면 그 메시지가 해당 사용자의 포럼 받은 편지함으로 전달되고, 사용자가 로그인할 때 오프라인 동안 받은 메시지가 있다는 알림을 받게 됩니다.

저는 이미 첫 번째 개발 서버를 설치해 보았고, 다양한 기능들에 깊은 인상을 받았습니다. 하지만 관리 패널에 들어가 보니 오히려 이전보다 더 많은 질문이 생겨 혼란스러웠습니다.

다음 기능들이 디스코스에 이미 내장되어 있는지, 아니면 제가 직접 구현해야 하는지 알고 싶습니다.

  1. 게임 계정과 연동된 포럼 계정을 자동으로 생성하고 싶을 때
  2. 사용자의 OAUTH 시크릿(2FA)을 게임 계정 2FA(외부 소스)와 일치시키고 싶을 때
  3. API를 통해 권한을 박탈하거나 추가하고 싶을 때 (플레이어 модератор 추가/제거)
  4. API를 통해 사용자에게 배지나 칭호를 부여하고 싶을 때 (플레이어 대회에서 플레이어에게 '플레어’를 수여)
  5. 사용자가 받은 편지함 메시지나 알림을 받을 때 웹훅을 전송하고 싶을 때 (게임 서버로 보내서 게임 내 알림으로 전달)
  6. 포럼 BAN 시 웹훅을 전송하고 싶을 때 (게임 서버에서도 음소거 처리)
  7. API를 통해 누군가를 BAN하거나 사용자를 삭제하고 싶을 때 (게임에서 BAN된 경우)
  8. API를 통해 사용자 이름을 변경하고 싶을 때 (로그인 시 사용하는 이름이며, 알림 이메일이 아님. 즉, 게임에서 표시 이름을 변경한 경우)

이를 위해某种 형태의 소셜 로그인을 구현해야 합니다.

이 부분은 이해가 되지 않습니다. 좀 더 자세히 설명해 주실 수 있나요?

가능합니다.

커스텀 플러그인을 통해 가능할 수 있지만, 현재 내부적으로 그러한 기능이 있는지 알지 못합니다.

다시 말씀드리지만, 이 역시 커스텀 플러그인으로 구현해야 합니다.

가능합니다.

가능할 수 있지만, 제가 직접 시도하거나 구현해 본 적은 없습니다.

우선 감사드립니다. 많은 질문을 훌륭하게 답변해 주셨습니다.

2번 항목에 대해 좀 더 자세히 설명드리겠습니다.

2FA(2단계 인증)는 일반적으로 QR 코드로 가려져 있는 공유 키를 사용합니다. QR 코드를 스캔할 때 실제로는 개인 키를 스캔하여 짧은 시간 동안 유효한 2FA 코드를 해시하는 것입니다. 이 웹사이트에서 2FA가 가능하다는 것을 확인했지만, 사용자가 직접 생성하는 대신 제가 직접 이러한 2FA 코드를 계정에 배포하거나 할당할 수 있는지는 확실하지 않습니다.

사용 사례: 예를 들어 제 게임 웹사이트에서 2FA를 관리한다고 가정해 보겠습니다. 사용자가 제 웹사이트에서 2FA에 가입하면, 제 웹사이트가 게임과 포럼에 로그인할 수 있는 개인 키를 사용자의 휴대폰에 제공합니다. 따라서 게임과 포럼 계정 모두에서 동일한 2FA 코드가 작동하도록, 사용자가 성공적으로 가입하면 백엔드에서 해당 사용자의 2FA 개인 키를 포럼 계정에 할당합니다.

제가 말하고자 하는 건, 데이터베이스에 사용자를 직접 삽입하면 안 되는 건가요? 아니면 계정을 생성하는 API 호출이 없는 건가요? 만약 그렇다면 놀라운 일이네요.

@simbleau 위에 몇 가지 답변이 잘못되었는데, 여기 올바른 답변을 드립니다:

이미 이렇게 하는 고객들이 있습니다. 게임 계정 시스템에서 포럼 계정을 생성하려면 API 호출 한 번이면 됩니다.

이 경우 포럼이 게임 계정 시스템을 IdP(Identity Provider, 신원 제공자)로 사용하도록 설정하는 것이 더 쉽습니다. 이를 위해 DiscourseConnect - Official Single-Sign-On for Discourse (sso)를 구현할 수 있습니다.

API를 통해 쉽게 처리할 수 있습니다.

이것도 API를 통해 쉽게 처리할 수 있습니다!

알림(Notification) 이벤트에 대한 웹훅을 지원하므로, 커스터마이징 없이도 완전히 가능합니다.

“User Event” 웹훅이 이 경우를 커버합니다.

이것도 그냥 API 호출 한 번이면 됩니다.

가능은 하지만, 사용자가 게시글이 많다면 비용이 많이 들 수 있습니다.

@Falco님 감사합니다! 이제 이 주제를 잠금 처리할 수 있습니다.

피드백에 감사드립니다.