Aggiunta programmata di utenti quando viene utilizzato SSO

Abbiamo configurato la nostra copia interna di Discourse in modo che l’uso dell’SSO sia obbligatorio e che sia collegato al nostro server LDAP. Ciò significa che qualsiasi membro dello staff può accedere facilmente utilizzando le proprie credenziali comuni, ma il relativo account viene creato solo al primo accesso.

Internamente si sta discutendo della possibilità di favorire l’interazione sociale tra lo staff, ma molti sono restii a fare altro che usare la posta elettronica.

Sto quindi cercando di capire come risolvere questa sfida utilizzando Discourse. Ho già risolto l’aspetto relativo alla posta elettronica (ovvero configurare Discourse in modo che ogni categoria abbia il proprio indirizzo email in ingresso), ma vedo due problemi su cui non sono sicuro di come intervenire:

  1. Idealmente, vorrei che tutti avessero un account su Discourse prima di accedere. Il motivo è che, se qualcuno invia una email a Discourse senza aver prima creato un account, il sistema dispone già dei dati completi dell’utente, invece di trattarlo come anonimo.

  2. Vorrei che tutti potessero ricevere email di riepilogo da Discourse, in modo da essere informati sulla creazione di nuovi thread (anche se non visitano mai Discourse)… ma anche questo richiede che l’account esista già.

Avete suggerimenti su cosa fare? Esiste un modo per creare account in Discourse in modo programmatico, in modo che siano collegati all’SSO al momento dell’accesso?

Grazie.

1 Mi Piace

You can do it via the API. Here’s an example: GitHub - pfaffman/discourse-user-creator: Create an activated user, optionally assigning to group

3 Mi Piace

Thanks … one issue I can think of is that I have to supply a password when creating the user. Presumably, if SSO is being enforced, Discourse actually ignores the password I’ve provided? (Testing would prove that, I guess!)

1 Mi Piace

Yeah. Since you’re using SSO the password won’t matter, or can be omitted. Testing would be the way to prove it! If you’d like help and have a budget, my contact info is in my profile.

You can create users with the sync_sso route. There is some PHP code in this post that gives an example of how to do it: If someone changes their email in WordPress, change it in Discourse - sso_sync. In that code, it’s being used to update a user’s email, but the same idea will work to create a new user.

5 Mi Piace