Programmgesteuertes Hinzufügen von Benutzern bei verwendeter SSO

Wir haben unsere interne Discourse-Instanz so konfiguriert, dass eine SSO-Authentifizierung erforderlich ist, und sie ist mit unserem LDAP-Server verbunden. Das bedeutet, dass sich jedes Mitarbeiter mit seinem üblichen Benutzernamen und Passwort einfach anmelden kann. Das Konto wird jedoch erst beim ersten Login erstellt.

Intern wird diskutiert, wie die soziale Interaktion zwischen den Mitarbeitern gesteigert werden kann, doch viele Mitarbeiter sind nur bereit, E-Mails zu verwenden und lehnen andere Formen der Kommunikation ab.

Ich versuche daher herauszufinden, wie ich diese Herausforderung mit Discourse lösen kann. Den E-Mail-Aspekt habe ich bereits geklärt (d. h. die Konfiguration von Discourse, sodass Kategorien eigene eingehende E-Mail-Adressen haben). Allerdings sehe ich zwei Herausforderungen, bei denen ich mir nicht sicher bin, wie ich sie lösen soll:

  1. Idealerweise möchte ich, dass jeder ein Discourse-Konto bevor er sich bei Discourse anmeldet, hat. Der Grund dafür ist, dass Discourse, wenn jemand eine E-Mail an Discourse sendet, ohne dass ein Konto existiert, die vollständigen Benutzerdaten erhält, anstatt ihn als anonym zu behandeln.

  2. Ich möchte, dass jeder Zusammenfassungs-E-Mails von Discourse erhalten kann, damit er über das Erstellen von Threads informiert wird (auch wenn er Discourse nie besucht). Dies setzt jedoch ebenfalls voraus, dass das Konto bereits existiert.

Haben Sie Vorschläge, was ich tun kann? Gibt es eine Möglichkeit, Konten in Discourse programmgesteuert zu erstellen, die bei der Anmeldung über SSO verknüpft werden?

Vielen Dank.

1 „Gefällt mir“

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 „Gefällt mir“

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 „Gefällt mir“

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 „Gefällt mir“