Gruppi SSO senza sovrascrittura completa

Esiste un modo per utilizzare i gruppi tramite SSO senza sovrascrivere tutti i gruppi esistenti?
Ad esempio, vorrei passare due tipi di gruppi di appartenenza dal mio sito esterno, diciamo group_a e group_b.
Tuttavia, non voglio che gli utenti perdano il loro attuale gruppo trust_level e, inoltre, alcuni utenti hanno i propri gruppi che permettono loro di accedere a una categoria privata.

Leggendo i post del forum qui e il manuale, sembra che la selezione dei gruppi SSO sovrascriva e rimuova gli utenti da tutti i gruppi esistenti, a meno che l’SSO non passi anche i loro gruppi attuali. Questo è un problema, perché significa che dovrei aggiornare manualmente il gruppo attuale di ogni utente nel database del sito esterno.

Sto trascurando qualcosa?
Grazie mille a tutti.

1 Mi Piace

I parametri add e remove fanno esattamente ciò di cui hai bisogno.

3 Mi Piace

Grazie! Quindi, utilizzando add_groups, gli utenti NON verrebbero sovrascritti o rimossi dai gruppi attuali? E sarei comunque in grado di creare e autorizzare manualmente i gruppi?

2 Mi Piace

Se questo viene utilizzato e un utente viene rimosso dal gruppo lato SSO ma non aggiunto a remove_groups, rimarrĂ  membro del sito Discourse, corretto?

Cosa intendi per “questo”, groups o i singoli add_groups e remove_groups?

Quali sono esattamente i parametri e l’endpoint che stai chiamando?

Quelli singoli. In realtĂ  non sto ancora facendo nulla, sto solo cercando di capire.

Quindi, l’SSO si verifica solitamente durante il flusso di accesso.

Tutti i parametri groups, add_groups e remove_groups sono opzionali e riguardano l’iscrizione ai gruppi.

Questo non ha nulla a che fare con la presenza di un utente valido sul sito, a meno che non si imposti la lettura di tutte le categorie del sito come riservata esclusivamente ai membri di gruppi specifici.

Scusa, lasciami riformulare. Diciamo che abbiamo 1200 gruppi nel nostro SSO. Se vogliamo sincronizzare l’iscrizione ai gruppi senza utilizzare sso overrides groups, se un utente è membro di tre gruppi, quei tre gruppi dovranno essere elencati in add_groups e gli altri 1197 in remove_groups (solo nel caso in cui l’utente fosse precedentemente in uno di quei 1197 e sia stato rimosso)?

Nel tuo caso, e supponendo che non ci siano altri gruppi manuali nell’istanza di Discourse, dovresti abilitare l’impostazione del sito sso overrides groups e passare i 3 gruppi di cui l’utente è attualmente membro nel parametro groups del payload SSO.

Al momento dell’accesso, ci assicureremo che l’utente sia membro di quei 3 gruppi e non membro di nessun altro gruppo manuale.

Ok, questo mi porta a questa domanda: What happens to trust level and staff groups when using sso overrides groups? :slight_smile: