OpenID Connect 그룹이 동기화되지 않은 모든 그룹에서 사용자를 강퇴할 수 있습니다

일정한 조건에서 OpenID Connect 그룹 동기화 기능이 동기화된 oidc 그룹이 없는 사용자를 모든 Discourse 그룹에서 강퇴합니다.

로그와 전반적인 상황을 살펴보면, 사용자가 동기화되지 않은 단일 oidc 그룹을 잃을 때 이 문제가 발생한다고 보입니다. 시스템은 변경 사항 노트에 잃어버린 그룹의 이름을 사용하여 해당 단일 그룹(실제로 존재하지 않는 그룹)에서 사용자를 강퇴하려는 것으로 보입니다.
하지만 실제로는 동기화되지 않은 모든 그룹에서 사용자를 강퇴합니다.

이로 인해 접근 권한을 잃을 수 있다는 점을 고려할 때, 이는 상당히 높은 우선순위의 버그라고 생각합니다.

참고로, 그룹 멤버십 변경 사항에 대한 전역 로그가 있나요? 있으면 복구 작업이 훨씬 쉬울 텐데, 저는 그룹별 로그만 찾았습니다.

이 요약이 정확한지 확인해 주시겠습니까?

  • 이전 상태:
    • 사용자 bilbo가 Discourse에서 그룹 A, B, C에 속해 있습니다.
    • 그룹 BC는 각각 OIDC 그룹 bc에 대해 자동 멤버십으로 설정되어 있습니다.
    • OpenID Connect groups claim이 예를 들어 groups로 설정되어 있습니다.
  • 수행된 작업:
    • 사용자 bilbo가 OIDC를 통해 로그인합니다.
    • oidc 클레임에 그룹 c, d가 포함되어 있습니다.
    • (그룹 D는 Discourse에 존재하지 않습니다)
    • Discourse가 bilbo를 그룹 AB에서 제거합니다.
      :red_exclamation_mark: A 그룹 멤버십을 제거하는 것은 올바르지 않습니다
1개의 좋아요

아직 동기화된 두 번째 그룹 B가 없습니다. 아니면 네.

1개의 좋아요

리포트 감사합니다. 이 수정으로 문제가 해결될 것입니다:

4개의 좋아요

이 기능이 마이너 릴리스에 언제 포함될 것으로 예상하나요?

해당 변경 사항을 하위 버전으로 되돌리는 작업을 시작했으며, 곧 마이너 릴리스에 반영될 예정입니다.

1개의 좋아요