RGJ
(Richard - Communiteq)
12월 9, 2020, 1:17오후
1
다음과 같은 상황이 발생하고 있습니다:
일부 사용자는 로그인할 때마다 TL2 환영 알림(“신뢰 수준이 상향 조정되었습니다”)을 받고 있습니다.
다음과 같은 조건에서 이 문제가 발생합니다:
Discourse가 SSO 클라이언트로 설정된 SSO 로그인이 활성화되어 있는 경우
WP-Discourse에서 "Sync User Data"가 활성화되어 사용자가 Wordpress에 로그인할 때마다 sync_sso 호출을 발급하는 경우
sync_sso가 사용자의 현재 신뢰 수준보다 낮은 grant_trust_level을 가진 그룹을 설정하는 경우
이로 인해 사용자의 신뢰 수준이 처음부터 다시 계산 되고, 매번 환영 메시지가 전송됩니다.
6개의 좋아요
nat
(Natalie T)
1월 4, 2022, 7:17오전
9
안녕하세요,
이 버그를 공유해 주셔서 감사합니다! 이 버그를 재현해 보려 했지만 로컬 환경에서는 재현이 불가능했습니다. 제 환경 설정은 다음과 같습니다:
(Wordpress)
이메일 steaky@cat.com 로 Wordpress 사용자 “Steaky” 생성
wpdc_custom_sso_params를 추가하여 SSO로 로그인하는 모든 사용자에게 cats 그룹을 설정: $params['groups'] = 'cats';
(Discourse)
이메일 steaky@cat.com 로 사용자 “Steaky” 생성
Steaky의 trust_level_3을 정당한 방법으로 설정 (잠금 해제 상태)
“cats” 그룹을 생성하고 "cats"의 "멤버에게 자동으로 부여되는 신뢰 수준"을 2로 설정
Wordpress와 Discourse 연결: 사용자 데이터 동기화:
(Discourse)
Steaky 로그인 → Wordpress로 리다이렉트되어 로그인 → Discourse로 리다이렉트됨
(Steaky에게 “cats” 그룹이 설정되었는지 확인)
Steaky가 환영 메시지를 볼 수 없음
^ SiteSetting.discourse_connect_overrides_groups를 사용하여 위 단계를 반복, 동일한 결과.
더 자세한 설정을 사용 중이신 것으로 보입니다. 영향을 받는 사용자들의 설정에 대해 더 많은 정보를 공유해 주시면 감사하겠습니다:
어떤 다른 “Discourse Connect ” 사이트 설정이 활성화되어 있나요?
영향을 받는 사용자들이 특정 신뢰 수준을 부여할 수 있는 그룹에 별도로 가입되어 있나요?
영향을 받는 사용자의 신뢰 수준이 잠겨 있나요? 어떤 그룹에 속해 있나요?
도움이 될 수 있는 기타 정보
감사합니다!
4개의 좋아요
RGJ
(Richard - Communiteq)
1월 4, 2022, 8:16오전
10
이 버그는 1년 이상 지난 것이며, 그 사이 클라이언트가 Discourse에서 떠났기 때문에 더 이상 완전히 재현할 수 없습니다. 그러나 저는 항상 상세한 메모를 작성하기 때문에 당시 SSO 페이로드 기록도 보유하고 있습니다. 다만 해당 인스턴스의 다른 설정을 확인하거나 정확한 재현을 시도하는 것은 불가능합니다.
제 메모로 돌아가 보겠습니다. 당시 발생한 상황은 여러분이 하려는 것과 약간 달랐습니다. SSO는 빈 groups 필드를 전달하고 있었습니다(단순히 groups=). 그러나 문제가 된 사용자는 SSO 제공자가 알지 못하는 다른 그룹의 멤버였으며, 이 그룹은 멤버들에게 TL2를 강제하고 있었습니다.
또한 제 기억에 따르면 TL2와 TL3의 환영 메시지는 동작 방식이 다르므로, 재현을 시도할 경우 TL3 대신 TL2를 사용해야 할 수 있습니다.
따라서 재현을 위해 생각컨대 다음 단계를 수행해야 합니다. (두 번째 그룹을 도입했음을 유의하세요)
(Wordpress)
이메일 steaky@cat.com 로 WordPress 사용자 "Steaky"를 설정합니다.
wpdc_custom_sso_params를 추가하여 $params['groups'] = 'dogs'; 로 로그인하는 모든 사용자에게 dogs 그룹을 설정합니다.
(Discourse)
이메일 steaky@cat.com 로 사용자 "Steaky"를 생성합니다.
Steaky의 신뢰 수준(trust level)을 정당한 방법으로(잠금 해제된 상태로) trust_level_1로 설정합니다.
“cats” 및 “dogs” 그룹을 생성하고, "cats"의 "멤버에게 자동으로 부여되는 신뢰 수준(Trust level automatically granted to members)"을 2로 설정합니다.
Steaky를 cats 그룹의 멤버로 만듭니다.
2개의 좋아요
nat
(Natalie T)
1월 19, 2022, 8:51오전
12
마지막 답변 이후로 해당 버그를 더 이상 조사하지 않고 있었지만, 작성해 주신 내용을 읽었고 정말 감사드립니다! 이렇게 깔끔한 로그를 남겨 주시다니 정말 놀랍네요. 아직 제 손에 남아 있는 작업이지만 곧 다시 살펴보겠습니다. 확인해 주셔서 감사합니다.
3개의 좋아요