# What are your experiences with wp-discourse plugin and DiscourseConnect?

**URL:** https://meta.discourse.org/t/what-are-your-experiences-with-wp-discourse-plugin-and-discourseconnect/24103
**Category:** WordPress
**Tags:** sso, wordpress, discourseconnect
**Created:** [16 Gennaio 2015, 10:27pm UTC](https://meta.discourse.org/t/what-are-your-experiences-with-wp-discourse-plugin-and-discourseconnect/24103 "2015-01-16T22:27:41Z")
**Posts on this page:** 3
**Page:** 1

<div class="post-metadata">

### Author: ![tobiaseigen](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/tobiaseigen/32/539204_2.png) [@tobiaseigen](https://meta.discourse.org/u/tobiaseigen)
#### Post date: [16 Gennaio 2015, 10:27pm UTC](https://meta.discourse.org/t/what-are-your-experiences-with-wp-discourse-plugin-and-discourseconnect/24103/1 "2015-01-16T22:27:41Z")

</div>

I’m considering the WP-Discourse plugin to integrate my WP site with Discourse, but would be interested in understanding a bit better what the benefits and costs are. What do you lose exactly when you turn on SSO in terms of discourse functionality, and what do you gain? How are the WP and Discourse accounts linked? For example, can the user profile info like picture, username, email address, “about me” and location be shared across both platforms?

Thanks for any guidance. I’d love to be directed also any good examples of the wp-discourse plugin in action, with and without SSO.

---

<div class="post-metadata">

### Author: ![system](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/system/32/443519_2.png) [@system](https://meta.discourse.org/u/system)
#### Post date: [21 Aprile 2021, 9:52am UTC](https://meta.discourse.org/t/what-are-your-experiences-with-wp-discourse-plugin-and-discourseconnect/24103/19 "2021-04-21T09:52:58Z")

</div>



---

<div class="post-metadata">

### Author: ![simon](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/simon/32/339122_2.png) [@simon](https://meta.discourse.org/u/simon)
#### Post date: [23 Aprile 2021, 6:51pm UTC](https://meta.discourse.org/t/what-are-your-experiences-with-wp-discourse-plugin-and-discourseconnect/24103/21 "2021-04-23T18:51:34Z")

</div>

Questa è una domanda vecchia, ma dal 2015, quando è stata posta, ci sono stati alcuni cambiamenti. Una modifica notevole è che ora utilizziamo il termine [DiscourseConnect](https://meta.discourse.org/t/13045?silent=true) invece di [Discourse SSO](https://meta.discourse.org/t/13045?silent=true). Questo perché il termine SSO può essere usato per riferirsi a diversi meccanismi di autenticazione (SAML, OAuth2, Auth0…). [DiscourseConnect](https://meta.discourse.org/t/13045?silent=true) è l’implementazione di SSO da parte di Discourse.

Quando [DiscourseConnect](https://meta.discourse.org/t/13045?silent=true) è abilitato, tutta l’autenticazione sul sito Discourse avverrà sul sito che hai impostato con la configurazione del sito `discourse connect url`. Ciò significa che gli utenti creeranno i loro account registrandosi sul tuo sito esterno invece che su Discourse. I dettagli dell’account verranno trasmessi a Discourse quando gli utenti accedono tramite [DiscourseConnect](https://meta.discourse.org/t/13045?silent=true). Quando gli utenti accedono per la prima volta a Discourse, i dettagli del loro account verranno impostati dai dati forniti nel payload SSO. A seconda dei valori di alcune impostazioni del sito Discourse, i dettagli dell’account continueranno a essere sincronizzati ogni volta che l’utente accede a Discourse, oppure gli utenti potranno impostare valori distinti per il proprio account su Discourse. Le impostazioni rilevanti per questo sono:

- `auth overrides email`
- `auth overrides username`
- `auth overrides name`
- `discourse connect overrides bio`
- `discourse connect overrides avatar`
- `discourse connect overrides profile background`
- `discourse connect overrides location`
- `discourse connect overrides website`
- `discourse connect overrides card background`
- `discourse connect overrides groups`

Tieni presente che, per impostazione predefinita, il plugin [WP Discourse](https://github.com/discourse/wp-discourse) invia solo i seguenti campi nel payload:

- `username`
- `email`
- `name`
- `bio`
- `avatar_url`

Parametri aggiuntivi possono essere aggiunti al payload collegandosi al filtro hook `wpdc_sso_params` del plugin [WP Discourse](https://github.com/discourse/wp-discourse).

> [@tobiaseigen](#):
>
> Cosa si perde esattamente quando si attiva l’SSO in termini di funzionalità di Discourse,

Probabilmente la funzionalità più significativa persa attivando [DiscourseConnect](https://meta.discourse.org/t/13045?silent=true) è che, una volta abilitato, diventa l’unico metodo di autenticazione per il sito. Ciò significa che non è possibile abilitare gli accessi social su Discourse insieme a [DiscourseConnect](https://meta.discourse.org/t/13045?silent=true). Puoi comunque abilitare gli accessi social sul sito del tuo provider di autenticazione. Ad esempio, potresti consentire agli utenti di accedere al tuo sito web tramite vari provider di accesso social e successivamente farli accedere a Discourse tramite [DiscourseConnect](https://meta.discourse.org/t/13045?silent=true). Un approccio simile può essere utilizzato con OAuth2 o SAML. Gli utenti possono accedere al tuo sito web con questi metodi di autenticazione e poi essere reindirizzati a Discourse per accedere tramite [DiscourseConnect](https://meta.discourse.org/t/13045?silent=true).

Un’altra funzionalità persa è che l’impostazione del sito Discourse `invite only` non può essere abilitata insieme a [DiscourseConnect](https://meta.discourse.org/t/13045?silent=true).

> [@tobiaseigen](#):
>
> Cosa si guadagna?

La possibilità di sincronizzare facilmente i dati degli utenti da un’applicazione esterna a Discourse è un grande vantaggio. Le appartenenze ai gruppi di Discourse possono essere impostate facilmente con i campi `add_groups` e `remove_groups` trasmessi nel payload SSO. Il plugin [WP Discourse](https://github.com/discourse/wp-discourse) non invia per impostazione predefinita nessuno di questi campi, ma possono essere aggiunti al payload collegandosi al filtro hook `wpdc_sso_params` del plugin [WP Discourse](https://github.com/discourse/wp-discourse).

Le appartenenze ai gruppi e qualsiasi altro campo che può essere impostato nel payload possono anche essere sincronizzati tramite una richiesta in background. Per i dettagli, consulta [Sincronizzare i dati utente di DiscourseConnect con la rotta sync\_sso](https://meta.discourse.org/t/sync-discourseconnect-user-data-with-the-sync-sso-route/84398). Per i dettagli sulla sincronizzazione dei gruppi con il plugin [WP Discourse](https://github.com/discourse/wp-discourse), consulta [Gestione dell’appartenenza ai gruppi di Discourse con WP Discourse SSO](https://meta.discourse.org/t/managing-discourse-group-membership-with-wp-discourse-sso/74724).

Un altro possibile vantaggio è che, se hai già una grande base di utenti su un sito esterno, abilitare [DiscourseConnect](https://meta.discourse.org/t/13045?silent=true) consentirà a questi utenti di accedere a Discourse senza dover creare un account Discourse separato.

> [@tobiaseigen](#):
>
> Come vengono collegati gli account WP e Discourse?

Con [DiscourseConnect](https://meta.discourse.org/t/13045?silent=true), gli account vengono collegati in base all’`external_id` trasmesso dal sito provider SSO a Discourse. Il plugin [WP Discourse](https://github.com/discourse/wp-discourse) utilizza l’ID WordPress dell’utente per l’`external_id`.

> [@tobiaseigen](#):
>
> le informazioni del profilo utente come immagine, nome utente, indirizzo email, “chi sono” e località possono essere condivise tra entrambe le piattaforme

Sì, per impostazione predefinita tutti questi campi vengono impostati con l’implementazione di [DiscourseConnect](https://meta.discourse.org/t/13045?silent=true) di [WP Discourse](https://github.com/discourse/wp-discourse). Come notato sopra, se verranno o meno continuati a essere sincronizzati ogni volta che un utente accede a Discourse dipende dal valore di varie impostazioni del sito Discourse.
