Sob certas condições, a sincronização de grupos do OpenID Connect expulsa os usuários de todos os grupos do Discourse que não têm um grupo OIDC sincronizado.
Os logs e a situação geral indicam que isso é acionado quando um usuário perde um único grupo OIDC (não sincronizado). O sistema aparentemente pretende remover o usuário apenas desse único grupo (que não existe), pois usa o nome do grupo perdido em sua nota de alteração.
No entanto, em vez disso, ele remove o usuário de todos os grupos não sincronizados.
Considerando a perda de acesso que isso pode causar, considero esse um bug de prioridade bastante alta.
A propósito, existe um registro global de alterações de associação a grupos? Isso facilitaria muito a recuperação, mas encontrei apenas o registro por grupo.
Você pode me confirmar se este resumo está correto?
- estado anterior:
- o usuário
bilbo está nos grupos A, B, C no Discourse
- os grupos
B e C estão configurados para associação automática com os grupos OIDC b e c (respectivamente)
- a
OpenID Connect groups claim está definida, por exemplo, como groups
- ação realizada:
- o usuário
bilbo faz login via OIDC
- a claim do OIDC contém os grupos
c, d
- (o grupo
D não existe no Discourse)
- o Discourse remove
bilbo dos grupos A e B
a remoção da associação ao grupo A está incorreta
Ainda não tenho um segundo grupo sincronizado B. Caso contrário, sim.
1 curtida