Discourse potrebbe offrire un servizio di login SSO/federato simile a StackExchange?

Ho iniziato a vedere Discourse ovunque e non potrei essere più felice! Sembra che stia diventando rapidamente la scelta standard per le comunità che desiderano impostare rapidamente nuovi forum di discussione o sostituire forum esistenti basati su piattaforme obsolete e modelli di UX antiquati.

Tuttavia, in alcuni aspetti, sembra una vittima del proprio successo: ogni volta che voglio pubblicare in una nuova comunità Discourse, devo creare un account, impostare una password, ecc. Alcune comunità si sono prese la briga di configurare l’OAuth tramite GitHub, social media, ecc., ma molte non l’hanno fatto. Devo creare e verificare un nuovo account sul loro server Discourse solo per fare una domanda, offrire una risposta o persino :heart: una risposta che ho trovato utile.

Confronta questo con la mia esperienza sulla rete StackExchange, dove mi viene offerto un pulsante “Unisciti a questa comunità” su una comunità con cui desidero interagire per la prima volta. Quando faccio clic su questo pulsante, mi viene offerta la possibilità di registrarmi utilizzando il mio accesso da un’altra comunità:

Il nuovo account viene creato e effettuato l’accesso automaticamente con un singolo clic.

Penso che il mio problema sia che esiste un’ipotesi non dichiarata secondo cui ogni comunità Discourse sia un’isola a sé stante e che gli utenti passino tutto il giorno connessi a un singolo forum in attesa di vedere risposte e nuove domande, divertendosi guadagnando badge e accumulando privilegi. In realtà, la stragrande maggioranza delle interazioni degli utenti è guidata da necessità, con solo pochi utenti che ancorano le comunità per partecipare regolarmente. Credo che l’interazione tipica di un utente con una comunità Discourse sia qualcosa del genere:

  1. Avere un problema
  2. Cercare una risposta su Google
  3. Non trovare una soluzione da nessuna parte su Internet, incluso il forum Discourse del gruppo
  4. Decidere che il mio problema è abbastanza urgente da creare un account sul forum
  5. Fare la mia domanda o commentare una domanda esistente
  6. Ricevere una risposta da qualcuno o, alla fine, risolverlo da solo
  7. Se l’ho risolto da solo e mi sento prosociale, riportare la soluzione al forum Discourse
  8. Tornare a vivere la mia vita
  9. Anni dopo, avere un altro problema e cercare di ricordare le mie credenziali per poter accedere nuovamente al forum
  10. Ripetere i passaggi 5-10

Gran parte di questo processo è ostacolato dalla necessità di creare un nuovo account per ogni nuovo forum in cui voglio partecipare.

So che le comunità StackExchange sono gestite da un’azienda centrale, mentre le comunità Discourse sono ospitate in modo completamente decentralizzato, ma sembra che ciò potrebbe essere implementato con Discourse che stabilisce il proprio servizio di provider di identità. A differenza dell’integrazione di qualcosa come GitHub o Facebook, dove l’amministratore del forum deve compiere azioni attive su un sito web esterno per configurare l’OAuth con questi provider, sembra che i token necessari per un pulsante “Accedi con Discourse” possano essere impostati automaticamente durante il processo di installazione standard.

So che ci sono state altre conversazioni su questo problema, ma sembrano essere eccessivamente complesse nel loro ambito e hanno preso una strada sbagliata.

2 Mi Piace

Si tratta di un tipo diverso di federazione, che collega Discourse a strumenti come Mastodon in relazione a post e risposte (anziché all’accesso).

Ti consigliamo di dare un’occhiata a Discourse SSO, che viene discusso in vari argomenti su meta.

1 Mi Piace

Ciò che descrivi è stato discusso molto all’inizio di Discourse. Esiste un tag per questo: #discourse_hub

L’argomento più recente risale al 2014:

(inoltre, ho appena notato che Jeff usa il nome @david come esempio, molti anni prima che io conoscessi anche solo Discourse :joy:)

È un’idea molto interessante, ma ci sono molti ostacoli da superare.

6 Mi Piace

Fantastico, grazie! Sembra che SE abbia risolto molti dei problemi descritti in quella discussione negli ultimi sei anni circa (ad esempio, utilizza un numero più nome utente come identificativo univoco per gli utenti).

Il cuore del problema sembra essere che, a differenza di SE, Discourse è decentralizzato: ogni comunità è completamente controllata da chi gestisce i server su cui viene eseguito. Sostengo inoltre che gli amministratori che non vogliono cedere un po’ di controllo per rendere la propria comunità più accessibile potrebbero senz’altro avere la possibilità di escludersi dall’Hub di Discourse, con la consapevolezza che questa decisione comporta un costo sotto forma di ridotta accessibilità e minore coinvolgimento degli utenti.

Potremmo certamente fornire un accesso sociale predefinito al provider “DiscourseHub”, abilitato di default e con alcune funzionalità aggiuntive, come il supporto completo per tutti i campi predefiniti (nome utente, nome, email, avatar, biografia) e persino offrire una sincronizzazione bidirezionale (provare a estrarre i dati dell’account utente appena creato e pubblicare alcuni dettagli sul profilo centrale, come badge e migliori post). Potremmo persino utilizzarlo per promuovere le migliori pratiche, come una lunghezza minima elevata per la password e l’obbligo dell’autenticazione a due fattori (2FA).

Ora, se dovremmo farlo rimane una grande domanda aperta.

3 Mi Piace

Quanto di questo potrebbe essere risolto da un directory gestito centralmente (da noi)?

Dovrete comunque creare un nuovo account su ogni sito, e ogni sito potrebbe avere (ad esempio) campi diversi richiesti all’iscrizione. Potremmo popolare la maggior parte, ma dovrete comunque confermarli. L’avatar è già ben gestito, ad esempio, da Gravatar.

Riguardo al tentativo di ricordare le vostre credenziali: l’accesso tramite email è il modo migliore per utilizzare quelle comunità in cui accedete raramente; lo uso ogni volta che è abilitato.

Mi piacerebbe vedere un problema solido che richiede di essere risolto prima di considerare di diventare un altro provider di identità. Vedo la decentralizzazione come una funzionalità, non come un difetto :slight_smile:

6 Mi Piace

Su questo argomento… un componente del tema che sostengo al 100% è una modifica che rende l’autenticazione basata esclusivamente sull’email.

  • Per registrarsi… basta inserire l’indirizzo email, il nome utente e il nome… nessuna password
  • Per accedere… basta inserire l’indirizzo email… nessuna password

Attualmente supportiamo già l’accesso senza password tramite email, ma è piuttosto nascosto. Eliminare la password renderebbe tutto questo immediatamente evidente e eliminerebbe molte frizioni.

Chiaramente non è un’impostazione predefinita di Discourse al momento, ma a mio avviso è un componente del tema molto interessante.

1 Mi Piace