È possibile un SSO "parziale"?

Non sono uno sviluppatore, quindi non so nemmeno cosa cercare per trovare la risposta alla mia domanda. Al momento sto provando Discourse e mi sto chiedendo molto su come gli utenti effettuano l’accesso.

All’inizio della mia prova ero convinto che SSO fosse la strada da percorrere una volta terminato il periodo di prova, ma ora non ne sono così sicuro. Sembra che attivando SSO perderei alcune delle bellissime funzionalità di Discourse (come quella degli inviti) e non so se, nel mio caso, il vantaggio ne valga la pena.

È possibile far sì che il mio forum utilizzi sia gli account nativi di Discourse sia quelli del mio sito? Similmente a come si possono impostare le opzioni “o Accedi con Facebook/Google/Apple”?

Sapete quando un utente tenta di accedere o creare un account gli vengono presentati i campi email/password, ma a destra di questi ci sono le opzioni per accedere con Facebook, Google, ecc.? Potrei semplicemente avere l’account del mio sito come una di queste opzioni a destra?

Quindi, se un utente vuole semplicemente utilizzare il login del mio sito principale e non creare un nuovo account specificamente per il forum, potrebbe farlo, ma non sarebbe obbligato.

È possibile? E è consigliabile? Cioè, ci sono motivi per cui non dovrei seguire questa strada? Grazie!

Dipende da cosa intendi per “SSO”:

Buone notizie al riguardo: abbiamo recentemente aggiunto il supporto per gli inviti in DiscourseConnect

E per gli altri metodi di accesso:

Queste modifiche sono attive nell’ultima versione di Discourse

4 Mi Piace

Puoi farlo implementando OAuth2 sul tuo server in modo che funzioni come Google, GitHub e altri simili. (Oppure affidandoti a qualcuno per farlo, dato che non sei uno sviluppatore.)

2 Mi Piace

Grazie! Potresti inviarmi un link alla documentazione a riguardo, per favore?

Questi due plugin si trovano all’indirizzo:

5 Mi Piace

Sono entusiasta di vedere la funzione di compatibilità tra SSO e inviti, ma sembra che non funzioni sul mio sistema.

Il mio sito principale è su WordPress e sto utilizzando il plugin WP Discourse per integrare le due applicazioni. Ho anche un modulo di registrazione che esegue l’autenticazione via email su WordPress e ho scritto del codice personalizzato per impedire a Discourse di inviare email di verifica duplicate agli utenti durante la registrazione. Ho abilitato l’opzione must_approve_users in Discourse per impedire a chiunque di accedere alla community senza approvazione.

Ho seguito i passaggi seguenti, ma l’utente non è stato approvato alla fine. Proprio come prima.

  1. Invito l’utente tramite indirizzo email
  2. L’utente apre l’email di invito e clicca sul link
  3. L’utente viene reindirizzato alla pagina di Discourse disconnessa con un messaggio di benvenuto e un invito all’azione (CTA) per continuare
  4. Cliccando sul CTA, l’utente viene portato alla pagina di login su WordPress
  5. Poiché l’utente non è registrato su WordPress, ho dovuto creare un nuovo account per l’utente — il che credo abbia senso, dato che WordPress non sa che Discourse ha invitato questo utente.
  6. Dopo la registrazione, ricevo un’email di conferma da WordPress. Clicco su quell’email e vengo reindirizzato alla pagina di login di WordPress.
  7. Dopo aver effettuato l’accesso su WordPress, provo ad accedere alla community, ma non riesco.
  8. Vado all’account amministratore e controllo lo stato dell’utente e, come sospettavo, è “Necessita approvazione”. Questa è esattamente la stessa situazione che avevo prima di inviare un invito.

Cosa sto trascurando? C’è un altro flusso che devo seguire? Posso invitare solo utenti già registrati su WordPress? Cerco qualche indicazione. Grazie.

La mia versione di Discourse: 2.8.0.beta1