Abilita la sincronizzazione di gruppo da Google Workplace (sperimentale)

:warning: Questo è sperimentale. La funzionalità potrebbe cambiare senza preavviso.

Per iniziare, configura l’accesso a Google seguendo queste istruzioni:

Quindi, segui questi passaggi:

  1. Nella dashboard di Google per la tua integrazione OAuth, vai su “API e servizi” e aggiungi “Admin SDK”

  2. Vai su “IAM e amministrazione” → “Account di servizio” → “Crea account di servizio” e configura un account. I due passaggi opzionali non sono richiesti - saltali.

  3. Nell’elenco degli account di servizio, fai clic sull’account appena creato, registra l’‘ID univoco’ per dopo, quindi vai alla scheda “Chiavi”. Crea una nuova chiave nel formato “JSON” e salva il file per dopo.

  4. Vai su admin.google.com e visita la sezione “Sicurezza”. Apri “Controlli API”, “Gestisci accesso app di terze parti”. Quindi “Aggiungi app”, “Nome app OAuth o ID client”. Inserisci l’ID client della tua applicazione OAuth, quindi selezionala dall’elenco. Segui i passaggi, assicurandoti di impostare l’applicazione come “Attendibile”. Dovrebbe quindi apparire nell’elenco:

  5. Torna alla sezione “Controlli API”, scorri verso il basso e scegli “Gestisci delega a livello di dominio”. Scegli “Aggiungi nuovo” e inserisci l’ID client dell’account di servizio creato in precedenza. Sotto gli ambiti, incolla il valore

    https://www.googleapis.com/auth/admin.directory.group.readonly
    
  6. Nel pannello di amministrazione di Discourse, vai alla scheda delle impostazioni e cerca ‘google oauth2 hd’. Configura le seguenti impostazioni:

    google oauth2 hd: il nome di dominio del tuo Google Workspace

    google_oauth2_hd_groups_service_account_json: incolla il contenuto del file della chiave dell’account di servizio generato in precedenza

    google_oauth2_hd_groups_service_account_admin_email: inserisci l’indirizzo email di qualsiasi account amministratore di Google Workspace. Questa identità verrà utilizzata dall’account di servizio quando recupera le informazioni sui gruppi di Google

    google oauth2 hd groups: abilitato

La prossima volta che un utente accede, Discourse recupererà e memorizzerà le informazioni sui gruppi di Google in background.

Per collegare un gruppo Google a un gruppo Discourse, visita la configurazione del gruppo in Discourse e vai alla sezione GestisciMembership. Sotto ‘Automatico’, vedrai un nuovo menu a discesa che ti consente di collegare un numero qualsiasi di gruppi Google al gruppo Discourse:

Le modifiche a questa impostazione dovrebbero avere effetto immediato. Le modifiche all’appartenenza ai gruppi su Google avranno effetto al prossimo accesso dell’utente.

Un grande ringraziamento a @angus per il suo lavoro su questa funzionalità. Speriamo di espandere questo sistema di sincronizzazione dei gruppi ad altri metodi di accesso in un futuro non troppo lontano.

8 Mi Piace

Mi piacerebbe usarlo con “oauth2 generico” (per auth0 specificamente). C’è un altro thread o un problema di GitHub che posso seguire per questo?

3 Mi Piace

@david o @angus Potete fornire maggiori dettagli per l’elemento 6?

Blockquote google oauth2 hd: il nome di dominio del tuo Google Workspace

  1. Intendi il mio dominio (ebsp.org) che ha un account workspace? O il dominio effettivo del workspace.
  2. È solo l’URL?

Blockquote google_oauth2_hd_groups_service_account_json: incolla il contenuto del file della chiave dell’account di servizio generato in precedenza

Copia e incolla l’intero contenuto dal JSON?

@angus @david Ho seguito queste istruzioni così come sono state presentate. Ho la casella per cercare un gruppo, ma non vengono visualizzati gruppi. Qualche idea?

Ciao Charlie, google oauth2 hd proviene dall’API Google OIDC (documentazione qui). Dicono che sia:

Il dominio associato all’organizzazione Google Workspace o Cloud dell’utente

Per fare un esempio, se stessi configurando questo internamente per il nostro personale, imposterei il valore su discourse.org.

Sì!

I gruppi Google appariranno in Discourse solo dopo che un membro di quel gruppo avrà effettuato l’accesso a Discourse utilizzando Google. Non abbiamo alcun sistema per elencarli in anticipo.

1 Mi Piace

@david Ci sono finalmente riuscito. Ho dovuto disattivare alcune cose. Il modo in cui il mio sito era configurato, gli utenti venivano automaticamente registrati tramite Google Oauth. Ho disattivato quello e Discourse Connect e ha funzionato. Non sono sicuro di quale dei due stesse creando una disconnessione. Una volta effettuato l’accesso fisicamente con Google, tutto si è popolato.

1 Mi Piace

La lettura dei Gruppi Google è ancora sperimentale? Queste istruzioni sono cambiate?

1 Mi Piace

Come @John_Faig, mi chiedo se sia ancora sperimentale.

Ho appena visto questa funzionalità e ho tre Google Groups che vorrei migrare. Convincere le persone a “cambiare” è estremamente difficile. Abbiamo bisogno di buone ragioni per uscire dalla nostra zona di comfort. Poi non vogliamo ostacoli nel processo. Creare un login (Discourse) su un altro sito web è una seccatura per le persone che sono già coinvolte in GG. Se questa funzionalità è stabile, l’ostacolo potenziale viene rimosso e possiamo concentrarci sul fornire ragioni convincenti al pubblico per migrare.

Grazie!