완전한 오버라이딩 없이 SSO 그룹 설정

기존 그룹을 모두 덮어쓰지 않고 SSO를 통해 그룹을 사용할 수 있는 방법이 있을까요?
예를 들어, 외부 웹사이트에서 두 가지 유형의 멤버십 그룹, 즉 group_a와 group_b를 전달하고 싶습니다.
하지만 사용자들이 현재 가지고 있는 trust_level 그룹을 잃지 않기를 원하며, 일부 사용자는 개인 그룹을 통해 비공개 카테고리에 접근할 수 있는 권한도 가지고 있습니다.

여기서 포럼 게시글과 매뉴얼을 읽어본 결과, SSO 그룹을 선택하면 SSO가 사용자의 현재 그룹 정보도 함께 전달하지 않는 한, 사용자는 모든 기존 그룹에서 제거되고 SSO 그룹으로 덮어씌워지는 것 같습니다. 이는 문제가 됩니다. 외부 사이트의 데이터베이스에서 각 사용자의 현재 그룹을 수동으로 업데이트해야 하기 때문입니다.

무엇을 놓치고 있는 걸까요?
많은 도움 부탁드립니다.

add 및 remove 매개변수는 정확히 필요한 작업을 수행합니다.

감사합니다! 그러면 add_groups를 사용하면 현재 그룹에서 사용자를 덮어쓰거나 제거하지 않는다는 뜻인가요? 그리고 여전히 수동으로 그룹을 생성하고 허용할 수 있나요?

이 기능이 사용되고, 사용자가 SSO 측에서 그룹에서 제거되었지만 remove_groups에는 추가되지 않은 경우, Discourse 사이트에서 여전히 멤버로 남아 있게 되는 것이 맞나요?

여기서 "this"가 groups를 의미하는지, 아니면 개별적인 add_groups와 remove_groups를 의미하는지 궁금합니다.

호출하는 정확한 파라미터와 엔드포인트는 무엇인가요?

개별적인 것들이에요. 아직 실제로는 아무것도 하지 않았고, 그냥 이해하려고 하고 있을 뿐이에요.

SSO는 일반적으로 로그인 과정에서 발생합니다.

groups, add_groups, remove_groups 매개변수는 모두 선택 사항이며, 그룹 멤버십을 다룹니다.

이것은 사이트에 유효한 사용자가 있는지 여부와는 무관합니다. 특정 그룹의 멤버만 읽을 수 있도록 사이트의 모든 카테고리를 제한하지 않는 한 말입니다.

미안합니다, 다시 표현해 보겠습니다. SSO에 1,200개의 그룹이 있다고 가정해 보겠습니다. sso overrides groups를 사용하지 않고 그룹 멤버십을 동기화하려면, 한 사용자가 세 개의 그룹에 소속되어 있다면, add_groups에 해당 세 그룹을 나열하고 나머지 1,197개 그룹은 remove_groups에 나열해야 합니다(이전까지 그 1,197개 그룹 중 하나에 belonged 했다가 제거된 경우를 대비해서).

질문자님의 경우, 해당 Discourse 인스턴스에 다른 수동 그룹이 없다고 가정하면 sso overrides groups 사이트 설정을 활성화하고, 사용자가 현재 속해 있는 3개의 그룹을 SSO 페이로드의 groups 매개변수로 전달해야 합니다.

로그인 시 시스템은 사용자가 해당 3개의 그룹에 속해 있고, 다른 모든 수동 그룹에는 속하지 않도록 보장합니다.

음, 그러면 이 질문으로 이어집니다: What happens to trust level and staff groups when using sso overrides groups? :slight_smile: