Discourse ID 작동 방식

Discourse ID란?

Discourse ID는 참여하는 Discourse 사이트 전반에서 더 빠른 로그인 경험을 제공하여, 방문하는 각 Discourse 사이트마다 별도의 로그인을 생성할 필요가 없으며, 클릭 한 번으로 모든 참여 Discourse 사이트에 가입할 수 있습니다. 또한 설정이나 구성 없이 소셜 로그인을 지원하여 Discourse 관리자가 간소화된 로그인 경험을 제공할 수 있도록 합니다.

Discourse 사이트에서 "Discourse ID로 로그인"을 보실 때마다, 의미 있는 대화에 참여하는 데 단 몇 초밖에 걸리지 않습니다 :discourse:

왜 Discourse ID를 사용해야 하나요?

한 번 생성, 어디서나 사용

  • Discourse ID에 한 번 가입하면 모든 참여 Discourse 커뮤니티에서 사용할 수 있습니다

  • 다른 포럼마다 여러 사용자명과 비밀번호를 기억할 필요가 없습니다

  • Google, Apple, Facebook, GitHub 또는 이메일을 사용하여 Discourse ID에 가입할 수 있습니다 (추가 옵션이 곧 제공됩니다)

자주 묻는 질문

  • 기본적으로 지원되는 소셜 로그인 플랫폼은 무엇인가요? 별도의 구성 없이 Discourse ID에는 Google, Facebook, Apple 및 GitHub 로그인이 포함되어 있습니다 (추가 항목이 곧 제공됩니다).

  • 이것은 단일 로그인(SSO)과 같은 건가요? Discourse ID는 SSO이지만, 특히 Discourse 사이트를 위해 설계되었습니다.

  • 커뮤니티 소유자가 제 모든 활동을 볼 수 있나요? 아니요, 한 포럼에서의 활동은 다른 포럼의 소유자에게 보이지 않습니다.

  • 왜 일부 사이트에서는 Discourse ID가 작동하지 않나요? Discourse ID는 새로운 기능이며, 아직 일부 커뮤니티가 참여를 신청하지 않았습니다. 커뮤니티 관리자에게 활성화하도록 요청하세요 (또는 나중에 다시 확인하세요).

  • 커뮤니티에서 Discourse ID를 활성화할 준비가 되셨나요? 회원들에게 원활한 로그인 경험을 제공하기를 원하신다면, 관리자 → 로그인 및 인증 → Discourse ID(/admin/config/login-and-authentication/discourse-id)로 이동하여 활성화하세요. ID는 우리가 호스팅하는 사이트와 자체 호스팅 사이트를 포함하여 모든 곳에서 사용할 수 있습니다. 문제가 발생하면 force_https 설정이 활성화되어 있는지 확인하세요.

  • DiscourseHub 앱에서 Discourse ID를 사용할 수 있나요? DiscourseHub 앱에서 Discourse ID를 활성화한 개별 사이트에 로그인할 수 있습니다 (다른 로그인 방법과 동일하게). 또한 Discourse ID와 DiscourseHub 간의 더 나은 통합을 작업하고 있습니다. 지켜봐 주세요!

문제 해결

Discourse 사이트가 Discourse ID를 사용하려면 https 프로토콜 아래 있어야 하며 인터넷에서 볼 수 있어야 합니다(즉, ID는 인트라넷 사이트에서 활성화할 수 없습니다). 추가 문제 해결을 위해 discourse-id 태그를 확인하거나 해당 태그를 사용하여 올바른 카테고리(예: Contribute > Bug / Support / Contribute > UX)에서 새 주제를 생성하세요.

도메인 이름 변경 후 ID 재구성

사이트의 도메인 이름을 변경한 후, 새 등록을 트리거하려면 다음을 수행해야 합니다.

  1. discourse id 설정의 client id와 secret을 비웁니다. 이들은 숨겨진 사이트 설정이므로 Rails 콘솔을 사용해야 합니다:

    ./launcher enter app
    rails c
    SiteSetting.discourse_id_client_id = ""
    SiteSetting.discourse_id_client_secret = ""
    
  2. 관리자 패널에서 Discourse ID 활성화 설정을 꺼졌다 켰습니다.

27개의 좋아요

How exciting!!!

Oh. How disappointing. :crying_cat:

Hopefully that’ll be available soon! It would be very handy if that were easy to configure (or maybe just possible with an API key or some sort?).

I would love to be able to enable it by default for self-hosted customers (mostly so that I could easily log in!).

EDIT: Sorry to be a whiner, but I’m very excited!

14개의 좋아요

It will be available very soon for self-hosters, yes. Thanks for your interest, appreciate it!

14개의 좋아요

I’m so excited for that already created my account you’re the bests!

8개의 좋아요

Great work! :grinning_face:

I like this idea very much. Unifying the login experience is very appreciated! Makes Discourse easier to use and maybe encourage people to ‘sign up’ to more communities. :partying_face:

7개의 좋아요

회원 가입 과정에 영향을 미치나요, 아니면 여전히 수동으로 새 멤버를 승인할 수 있나요?

수정: discourse에서 제공하는 idp에 의존하고 있으며, 다른 모든 discourse 인스턴스를 연방적으로 신뢰하지 않는다는 것을 방금 깨달았습니다.

이제 활성화되었습니다 :slight_smile: Discourse ID가 이제 사용 가능합니다. 오늘 바로 사용해 보세요! - Announcements - Discourse Meta

2개의 좋아요

좋은 아침입니다!

Discourse ID와 관련하여 몇 가지 추가 질문이 있습니다:

  • 각 사이트가 Discourse ID 로그인을 검증할 때 자격 증명을 관리하는 중앙 서버에 접속한다고 가정하고 있습니다. 따라서 각 개별 웹사이트는 다른 사이트 방문 여부를 알지 못하지만, 해당 정보가 인증 서버에서 중앙 집중식으로 이용 가능하다고 추정합니다. 이 정보를 익명화하더라도 활용하실 계획이 있으신가요?
  • 개인적으로는 이메일/비밀번호(+ 경우에 따라 2FA)를 선호하며, 제 자신의 로그인에 Discourse ID를 도입할 조급함은 없습니다. 또한 스마트폰으로 웹사이트를 읽을 관심이 없으므로 Discourse 앱을 설치할 의향도 없습니다. 앞으로 사이트 운영자가 사용자 이름/이메일과 비밀번호로 로그인하는 옵션을 유지해 주기를 바랍니다. 참고로, 제가 제안된 다른 SSO 옵션도 전혀 사용하지 않습니다. 제 비밀번호는 제 자체 인프라에서 관리되며, 각 비밀번호는 한 곳에서만 사용되고 사용되지 않을 때는 암호화되어 저장됩니다.

제가 특수한 사례일 수 있다는 점을 인지하고 있지만, 제와 같은 상황에 있는 사람들이 앞으로의 로그인 방식 검토 시 관리자들에 의해 고려되기를 바랍니다.

4개의 좋아요

네, Discourse ID 자체는 중앙 집중식 서비스입니다. 다른 소셜 로그인과 유사합니다. 가까운 미래에 최종 사용자를 위한 ID 기능을 추가할 계획이 있지만, 아직 구체적인 내용은 결정되지 않았습니다.

네, 로컬 계정을 포함한 기타 모든 로그인 방법은 계속 사용할 수 있습니다.

5개의 좋아요

Discourse ID를 허용할 때 모든 소셜 로그인을 지원할 필요가 없다는 점은 좋다고 생각합니다. 다만, EU 관련 규정 준수 문제로 어떤 문제가 생길지 확신이 서지 않아 아직 활성화하지 않았습니다.

1개의 좋아요

없습니다. 다른 SSO 옵션과 동일한 정보를 제공해야 합니다. 기본적으로 책임이 CDCK로 이전되며, 다음을 연결합니다: Privacy policy | Discourse - Civilized Discussion

CDCK 담당자께, 개인정보 처리방침에 ID가 포함되도록 조속히 업데이트해 주십시오.

3개의 좋아요

네, 하지만 같은 이유로 다른 SSO 옵션을 사용하지 않아요. 사용자에게 해당 옵션을 사용하라고 권유하면 제가 책임져야 할 수 있으니까요. 그래서 아직 사용할 수 없어요.

그런데 당신은 아직 그렇지 않습니다. 관리자로서 불필요한 개인 데이터를 저장할 수 없으며, 무엇을, 왜, 얼마나 오래 저장하는지 알려야 합니다. 그런 것들이죠. 다른 서비스를 사용하는 경우, 해당 서비스를 사용한다는 사실을 명시하고 그 서비스의 개인정보 처리방침을 참조하도록 해야 합니다. 나머지는 그 서비스의 책임입니다. Google Analytics, AdSense, Amazon S3, 이메일 전달 서비스 등에서도 완전히 같은 원리입니다.

결국 해야 할 일은 알려주는 것입니다. 사용할지 말지는 사용자의 선택입니다. Discourse ID나 기타 SSO가 유일한 옵션이라면 더 엄격해야 하지만, 현재 상황은 그렇지 않습니다.

원하지 않는다면 Discourse ID를 허용할 필요가 없습니다. 저는 호기심에 활성화했지만, 현재 제 포럼에서 이를 사용할 사용자는 단 한 명도 없을 것입니다. 번역이 완전히 정상 작동하기 시작하면 상황이 바뀔 수도 있지만, 그것은 별개의 이야기입니다. 기본적으로 당신이 신경 쓸 유럽연합(EU) 규칙은 없습니다.

1개의 좋아요

무엇이 합리적인지 알고 있지만, EU에서는 기업들이 페이스북 프로필에 대한 링크를 제공하도록 책임지게 되어 있으므로, 안전을 위해 신중하게 행동하는 것이 좋겠다고 생각했습니다.

다른 시스템에서 Discourse ID로 사용자를 자동으로 등록할 수 있나요?

사용자들에게 id.discourse.com에 가입하도록 강요하고 싶으시군요 :flushed_face:

제가 아는 한, Google SSO를 등록할 수 없기 때문에 그렇게 할 수 없습니다.

“다른 시스템에서 사용자를 Discourse ID에 자동으로 등록한다”는 표현이 정확히 무엇을 의미하는지 좀 더 자세히 설명해 주실 수 있나요?

Discourse 사이트를 ID 제공자(Identity Provider)로 사용하는 방법이 있으며, 이렇게 하면 사용자가 Discourse ID로 로그인할 수 있습니다. 이것이 질문하신 내용인가요?

3개의 좋아요

제목이 “Discourse ID의 작동 방식”이지만, 실제로 어떻게 작동하는지에 대한 세부 사항은 보이지 않습니다. 예를 들어, Discourse 사이트와 IdP 간의 프로토콜은 무엇인지, 어떤 식별자가 전달되는지, 사이트 간 활동이 어느 정도까지 상관관계로 추적할 수 있는지 등입니다. 제가 조언하는 사이트 관리자들과 이 옵션을 해당 사이트에 활성화해야 하는지 여부를 정확히 안내하려면 이러한 정보들이 필요합니다.

3개의 좋아요

동의합니다. 다만 참고로, 이 코드는 Omniauth의 OAuth2 플로우를 사용합니다(다른 것들도 모두 그렇습니다). 그리고 이 코드(discourse/app/services/discourse_id/register.rb at 62942ee5851b55aa1c0a56dbd3f43af1330ea451 · discourse/discourse · GitHub)에는 클라이언트 시크릿을 얻기 위한 자체적인 등록 메커니즘이 있습니다.

다만, Omniauth가 실제 사용자 속성을 가져오기 위해 OIDC를 사용하는지, 아니면 토큰 인스펙션(endpoint)을 사용하는지는 정확히 확신하지 못하겠습니다.

1개의 좋아요

20개의 게시물이 새로운 주제로 분리되었습니다: Discourse ID 설정 관련 도움