Das schlimmste Szenario, das mir bekannt ist, erfordert diese Bedingungen:
- E-Mail-Adressen werden auf der externen Website nicht verifiziert
require_activation=trueist in der SSO-Nutzlast nicht gesetzt- Es gibt bereits Konten auf der Discourse-Website, denen kein
SingleSignOnRecordzugeordnet ist (der Kontoinhaber hat sich nie mit SSO bei Discourse angemeldet)
In diesem Fall könnte sich jemand auf der externen Website mit der E-Mail-Adresse eines Discourse-Benutzers registrieren, der sich nie mit SSO angemeldet hat. Dies würde es dem nicht verifizierten Konto von der externen Website ermöglichen, das Discourse-Konto zu übernehmen, das dieselbe E-Mail-Adresse verwendet. Dies wäre besonders besorgniserregend, wenn es sich um ein Administratorkonto bei Discourse handeln würde.
Es wird empfohlen, dass Discourse die E-Mail-Verifizierung handhabt, wenn die externe Website dies nicht tut:
Es gibt jedoch ein paar Gründe, warum es besser ist, die E-Mail-Verifizierung auf der externen Website durchzuführen:
- Benutzer zu zwingen, die Bestätigungs-E-Mail von Discourse zu erhalten, fügt Reibung hinzu, wenn Benutzer sich zum ersten Mal bei Discourse anmelden. (Realistisch gesehen muss diese Reibung irgendwo stattfinden – entweder auf Discourse-Seite oder auf der Seite der externen Website.)
- Discourse gleicht keine vorhandenen Discourse-Konten mit externen Anmeldungen anhand der E-Mail-Adresse ab, wenn
require_activationin der SSO-Nutzlast auftruegesetzt ist. Dies ist ein Problem, wenn Sie DiscourseConnect aktivieren, nachdem einige Konten auf Discourse durch Registrierung mit Benutzername/Passwort erstellt wurden. Es ist auch ein Problem, wenn Sie aus irgendeinem Grund jemalsSingleSignOnRecord-Einträge auf Discourse löschen müssen. Discourse erstellt keine neuenSingleSignOnRecord-Einträge automatisch, wenn sich Benutzer wieder bei Discourse anmelden.