Discourse OpenID Connect (OIDC)

:partying_face: 이 플러그인은 이제 Bundling more popular plugins with Discourse core 에서 언급된 대로 Discourse 코어에 번들링되어 제공됩니다. 자체 호스팅을 사용 중이시이고 해당 플러그인을 사용 중이라면, 다음 업그레이드 전에 app.yml에서 플러그인을 제거해야 합니다.

3개의 좋아요

네, 클라이언트를 위해 그렇게 했습니다.

Discourse의 일부 그룹을 우리가 가진 OIDC 그룹과 동기화할 수 있으면 좋겠습니다. 이 기능을 제공하는 PR이 있다는 것을 발견했지만, 더 이상 검토되지 않았습니다:

이 기능을 Discourse에 포함시킬 수 있을까요?

2개의 좋아요

해당 그룹의 멤버가 더 이상 아닌 경우, 사용자가 자동으로 제거되나요?

네, 그러할 겁니다 :+1:

음, 실제로는 제 테스트 결과와 맞지 않네요.

안녕하세요, OpenID Connect 플러그인을 사용 중인데 openid connect authorize parameters를 통해 /authorize 요청에 커스텀 파라미터를 전달하려고 시도하고 있지만, 일관되게 동작하지 않는 것 같습니다.

이 기능이 공식적으로 지원되는지 궁금합니다. 만약 지원되지 않는다면, IdP에 커스텀 컨텍스트를 보내는 권장 방법은 무엇인가요?

감사합니다!
@david

안녕하세요,

이 플러그인은 수년간 잘 작동해 왔지만, 마침내 언더스코어(_)로 끝나는 사용자 이름(예: 허용되지 않는 사용자 이름)을 가진 첫 번째 SSO 사용자를 발견했습니다.

해당 사용자는 Discourse에 로그인할 수 없습니다. OIDC가 언더스코어가 없는 사용자 이름으로 계정을 생성하려고 시도하는 것 같습니다. 이는 괜찮은데, 해당 계정이 이미 존재하는 경우(사용자 이름 foo가 이미 있고, foo_는 “계정이 이미 존재합니다” 오류로 인해 로그인할 수 없음)에는 어떤 부분에서 계정 도용(시도)이 발생하는 것 같습니다:

사용자 이름 foo는 계정을 생성하거나 계정의 이메일을 변경하려고 시도했지만 해당 이메일이 이미 사용 중이라는 알림을 받습니다.

이는 foo_의 첫 번째 로그인, 즉 SSO를 통한 계정 생성 시점에 발생합니다. 즉, foo_가 이미 사용 중인 이름으로 인해 foo로 계정을 생성하려고 시도하는 것입니다. 그런데 왜 원래의 foo가 이에 대해 이메일 알림을 받게 될까요?

당신은 방금 \<discourse\>에서 계정을 생성하거나, 계정의 이메일을 \<foo의 이메일\>로 변경하려고 시도했습니다.

OIDC에서 username과 username_가 공존하는 문제를 해결할 방법이 있을까요? 예를 들어 인증 과정에서 Discourse가 무효한 사용자 이름을 처리하는 방식을 설정할 수 있는 방법이 있는지요?

안녕하세요,

이 플러그인에 대한 최근 수정에 감사드립니다. 그런데 OIDC로 관리자를 동기화하는 방법이 있을까요?

감사합니다.