Discourse ID 설정 방법 도움 요청

내가 눈이 먼 건가… :see_no_evil_monkey:

사이트 설정에서 discourse_id_client_id와 discourse_id_client_secret를 찾을 수 없습니다. Enable Discourse ID만 있네요. :man_shrugging:

어떤 아이디어가 있을까요?

force https가 활성화되어 있나요?

네, 활성화되어 있습니다. 확인해 봤어요.

활성화만 하면 시크릿과 ID가 자동으로 생성됩니다.

중앙 서버에 연결하고 키를 생성하기 위해 실행하는 rake 태스크가 있습니다. 이것이 바로 키와 시크릿이 생성되는 방법입니다.

어디에도 문서화되어 있는 것을 찾을 수 없습니다.

소스에서 찾기는 충분히 쉬울 것 같지만, 오후 5시 이후에 폰으로 찾기는 좀 어렵네요

정말인가요? :laughing: 아… :smiley:

저도요. 셀프호스팅된 Discourse를 운영하고 있는 사람 중 이 설정을 해본 사람이 있는지 궁금하네요. :wink:

rake discourse_id:register

아니요. 최신 버전의 사이트에서 직접 시도해 보았는데, 설정만 활성화하면 키가 생성됩니다.

제가 생각하기에, rake 태스크는 공개적으로 발표되기 전까지 일정 기간 동안 필요했던 것 같습니다. 지금은 설정을 활성화하면 키가 자동으로 요청되는데, rake 태스크를 실행해야 하는 것보다 훨씬 합리적인 방식입니다.

감사합니다. 하지만 이 방법은 작동하지 않았습니다:

Plugin name is 'discourse-docs', but plugin directory is named 'discourse-knowledge-explorer'
rake aborted!
Don't know how to build task 'discourse_id:register' (See the list of available tasks with `rake --tasks`)
Did you mean?  discourse_ai:install:migrations
/usr/local/bin/bundle:25:in `load'
/usr/local/bin/bundle:25:in `<main>'
(See full trace by running task with --trace)

포럼이 최신 상태인가요? UX에서 해당 설정을 활성화하는 것을 시도해 보셨나요? 저는 마지막 베타 버전을 사용 중인 사이트에서 방금 테스트해 보았습니다.

마지막 재빌드 이후로 약 1주일, 아마 2주일 정도 되었습니다.

활성화하셨나요? 활성화하면 나머지가 자동으로 생성됩니다. 직접 흐리게 처리할 필요는 없습니다.

enable_discourse_id를 활성화했는데 오류(독일어)가 발생했습니다:

enable_discourse_id: 이 설정을 활성화하려면 먼저 Discourse ID 로그인 자격 증명(“discourse_id_client_id” 및 “discourse_id_client_secret”)을 구성해야 합니다.

enable_discourse_id를 체크하기 전에 discourse_id_client_id와 discourse_id_client_secret를 구성해야 한다고 나와 있습니다.

즉, 현재는 달걀이 먼저인지 닭이 먼저인지 하는 문제입니다. :wink:

이상하네요. 업그레이드를 시도한 다음 버그 리포트를 작성해 보시는 건 어떨까요?

클라우드플레어(Cloudflare)나 다른 리버스 프록시 뒤에 계신 건지 확인해 보세요. 이런 프록시가 디스코urs 서버가 사용자의 서버에 연결하는 것을 차단할 수 있습니다. 클라우드플레어 뒤에 계신 경우 작동하지 않을 것이라 거의 확신합니다.

최신 버전으로 방금 업그레이드했습니다. 두 가지 옵션을 볼 수 없는데…

아무것도 없습니다. 제 인스턴스는 Linux 서버에서 Apache 웹서버 "뒤"에서 실행됩니다. 셀프 호스팅 인스턴스 실행 가이드에 나와 있는 것과 거의 똑같이 설정했습니다.

어제 다른 포럼에서 마이그레이션을 테스트하기 위해 또 다른 인스턴스를 설정했습니다. 거기서도 옵션을 볼 수 없습니다.

:man_shrugging:

(옵션이 켜져 있었다면) 먼저 옵션을 꺼놓고 다시 켜보려 했나요?

해당 값은 직접 설정하지 않습니다.

아니요, 켤 수 없습니다. 오류 메시지에 따르면 먼저 client_id와 client_secret을 설정해야 한다고 합니다.

제가 말한 달걀과 닭 문제(순환적 의존성)가 바로 이것입니다. 순서상 무엇이 먼저인지, 아니면 보이지 않는 입력란 때문에 값을 설정할 수 없으니 그 값 없이 켤 수 없는지 모르겠습니다.

pfaffman은 해당 오류 메시지에 설정을 활성화하기 전에 해당 설정을 구성해야 한다고 나와 있지만, 그것을 채워 넣어야 하는 것은 소프트웨어이지 사용자가 아니라고 설명하려 했던 것 같습니다.

아마도 Discourse ID fails to activate on my instance 링크에서 다른 시도해 볼 수 있는 방법에 대한 아이디어를 얻을 수 있을지도 모릅니다.

예상대로 리버스 프록시 설정 문제인 것 같습니다

force_https를 켜보세요. Discourse가 https임을 인식하지 못하기 때문에 리버스 프록시 환경에서 흔히 발생하는 문제입니다.

force_https는 처음부터 켜져 있었습니다.

어제 설치한 새 인스턴스에 처음 로그인했을 때, force_https를 켜고 싶은지 바로 물어봤습니다.

하지만 네, Apache는 HTTPS를 실행하고 있고 리버스 프록시는 Discourse Docker 컨테이너에서 포트 8080의 HTTP를 사용하고 있습니다. 그런데도 어째서인지 Discourse는 HTTPS로 실행되고 있다는 것을 알고 있습니다.

내 추측으로는 그게 최선입니다. HTTPS 강제 설정은 어떻게 했나요?

웹 브라우저를 통해 관리자 영역에서 설정했습니다. 콘솔에서 해야 하나요? 예를 들어 다음과 같이?

rails r "SiteSetting.force_https=true"

방금 시도해 봤습니다. 콘솔에서 피드백이 없었지만 작동하는 것 같았습니다.

하지만 여전히 웹 브라우저에서 client_id와 client_secret에 대한 두 개의 새 설정을 볼 수 없습니다.