Hi @balazsorban44, 이 이슈에 대한 리마인드 감사합니다. PR 리뷰를 1차로 마쳤습니다. 만약 저자가 이 부분 작업을 할 시간이 없다면, 우리가 직접 진행할 수 있을 것 같습니다. PKCE 지원이 추가되면 좋겠다는 의견에 동의합니다.
다만, 참고할 점이 있습니다: PKCE가 보호하는 “인가 코드 가로채기” 공격에 대해 Discourse가 취약하다고 생각하지 않습니다. Discourse 인증은 항상 브라우저 내에서 https를 통해 이루어지며, 다른 앱에 의해 가로채질 수 있는 OS 레벨의 커스텀 URL 스킴을 사용하지 않기 때문입니다.
흥미로운 문제가 있습니다. 공개 배포 전에 모든 것이 정상적으로 작동하는지 테스트하려면, OIDC 제공자를 로컬(프라이빗 서브넷)에 호스팅하고 인터넷에서 접근할 수 없도록 설정해야 합니다.
하지만 Discourse가 프라이빗 IP로 연결하는 것을 허용하지 않기 때문에 이 작업이 실패합니다. oidc.example.org가 프라이빗 IP로 해석됩니다.
OIDC Log: Fetching discovery document from https://oidc.example.org/application/o/discourse/.well-known/openid-configuration
OIDC Log: Fetching discovery document raised error Faraday::ConnectionFailed FinalDestination: all resolved IPs were disallowed
OIDC Log: Discovery document is
---
(oidc) Request phase initiated.
(oidc) Authentication failure! openid_connect_discovery_error: OmniAuth::OpenIDConnect::DiscoveryError, Discovery document is missing
openid_connect_discovery_document는 관리자만 변경할 수 있으므로, 이를 신뢰하고 프라이빗 IP도 허용해야 한다고 생각합니다.
죄송합니다만, 플러그인을 설치하라는 지침을 정확히 이해하지 못하겠습니다. 저는 로컬 Docker 환경에서 Discourse를 실행 중인데, 설정을 추가할 app.yml 파일을 찾을 수가 없습니다.
어리석은 질문일 수 있지만, 로컬 개발 환경에서 설치하는 방법에 대한 가이드가 있을까요?
You have installed oauth2 version 1.4.11, which is EOL.
No further support is anticipated for the 1.4.x series.
그리고 oauth2 버전 2로 업그레이드하라는 권고도 함께 나옵니다. 이런 메시지가 없으면 훨씬 마음이 편할 텐데, 업그레이드 계획이 있으신가요?
또한 다음과 같은 메시지도 표시됩니다:
You have installed oauth version 1.1.0, congratulations!
Non-commercial support for the 1.x series will end by April, 2025. Please make a plan to upgrade to the next version prior to that date.
The only breaking change will be dropped support for Ruby 2.7 and any other versions which will also have reached EOL by then.
안녕하세요,
‘Allow new registrations’ 옵션은 플러그인 작동에 필수적입니다. 이 옵션을 활성화하면 Discourse에 처음 로그인할 때 계정이 자동으로 생성되고 ‘register’ 버튼이 표시됩니다. 하지만 이 옵션을 비활성화할 수 있도록 할 수 있을까요? 즉, openidconnect를 통해 로그인하는 사용자에게 설정을 수정하거나 계정을 직접 생성할 수 있는 권한을 주지 않는 것입니다. 이렇게 하면 이 컨텍스트에서 불필요한 ‘register’ 버튼을 화면에서 제거할 수 있습니다.
감사합니다.