Ist es möglich, einen E-Mail-Login-Link über die API zu senden?

Hallo! Ich genieße die Nutzung der Discourse-API wirklich!

Nach dem Leitfaden zum Reverse Engineering der API bin ich auf ein Problem gestoßen, bei dem die API keinen Login-Link senden kann.

Hintergrund zu meinem Vorhaben
Ich habe einen SSO-Service für einen lokalen Hackerspace erstellt, damit sich Benutzer mit dem Mitgliedschaftssystem des Hackerspaces bei unserem Discourse anmelden können.

Allerdings haben einige Personen möglicherweise eine andere E-Mail-Adresse im Mitgliedschaftssystem als in Discourse verwendet. Da die lokale Anmeldung bei aktiviertem SSO deaktiviert ist, möchte ich, dass Personen auf „Schicke mir einen Login-Link per E-Mail

Nur zur Rückfrage: Ist es der richtige Weg, zuerst die CSRF-Route und dann die E-Mail-Link-Route aufzurufen?

Gibt es hierfür keine Implementierung in der API, wenn ein API-Schlüssel bereitgestellt wird?

Wie interagiert Ihr SSO-Service mit Discourse? Wenn Sie DiscourseConnect verwenden, ist der Endpunkt /u/email-login meiner Meinung nach deaktiviert.

Vielen Dank für deine Antwort. Und ja, es wird Discourse Connect verwendet.

Ich habe das auch gedacht, also habe ich Discourse Connect deaktiviert und versucht, einen Login-Link zu erhalten, aber es hat nicht funktioniert. So bin ich zu der Ausgabe in meinem obigen Beitrag gekommen.

Wenn das Senden eines E-Mail-Links deaktiviert ist, wenn Discourse Connect aktiviert ist, muss ich meinen Ansatz überdenken, wie ich Konten vom SSO-Dienst des Mitgliedsverwaltungssystems mit Discourse verknüpfe.

Der einfachste Weg, wie du bereits erwähnt hast, besteht darin, Konten über die E-Mail-Adresse abzugleichen. Wenn das nicht möglich ist, gibt es ein paar Ansätze, die wir verwenden:

  1. Benutzer anhand einer anderen eindeutigen Kennung abgleichen. Du kannst DiscourseConnect-Verknüpfungen für einen Benutzer über die Konsole vorab erstellen. Dies funktioniert nur, wenn du eine andere Kennung hast, die zwischen Discourse und dem Identitätsanbieter konsistent ist.

  2. (am häufigsten) Benutzer die Registrierung neuer Konten ermöglichen und sie dann bitten, einen Administrator zu kontaktieren und zu bitten, das neue Konto mit dem alten zu „zusammenführen

Vielen Dank für Ihre Antwort.

Der Ansatz, Konten zusammenzuführen, ist wahrscheinlich das, was ich wählen werde.

Es wäre eine großartige Funktion, wenn dieser Prozess selbstbedienbar wäre – etwa über eine API, bei der sich Benutzer über einen E-Mail-Link einloggen können, um dann ihre E-Mail-Adresse zu aktualisieren und die beiden Konten zu synchronisieren.
Oder indem ein Benutzer sich authentifiziert, indem er seine Discourse-E-Mail und sein Passwort zusammen mit einer aktualisierten E-Mail-Adresse angibt.

Nochmals vielen Dank für Ihre Zeit.