Problem bei der SSO-Weiterleitung zum Erstellen eines neuen vorab ausgefüllten Themas über URL

Hallo,

ich implementiere meinen eigenen Authentifizierungsdienst als SSO-Anbieter für Discourse. Das funktioniert soweit gut. Wenn sich jedoch meine Benutzer (die nicht angemeldet sind) eine URL für ein vorausgefülltes Thema öffnen, sehen sie die vorausgefüllten Daten nach der Weiterleitung zurück zu Discourse nicht.

Vollständiges Szenario:

  • Ein nicht angemeldeter Benutzer öffnet eine URL zum Erstellen eines vorausgefüllten Themas.
  • Er wird automatisch auf die SSO-Seite weitergeleitet.
  • Er meldet sich über SSO an und wird zurück zu http://discourse_site/session/sso_login?.... weitergeleitet.
  • Hier erwarte ich, dass der Benutzer das Feld zum Erstellen eines Themas mit den ausgefüllten Daten sieht, aber Discourse zeigt lediglich die letzte Themenübersicht an. Das Feld zum Erstellen eines Themas wird nicht einmal angezeigt.

Kann mir jemand bei diesem Problem helfen? Liegt das an meinen Einstellungen oder ist es ein Fehler?

Ich kann zudem bestätigen, dass die Weiterleitung funktioniert, wenn ich mich in einem bestimmten Thema befinde und auf „Anmelden“ klicke. Ich werde dann zu diesem Thema zurückgeführt.

2 „Gefällt mir“

Versuchen Sie, den hier skizzierten Ansatz zu verwenden: Creating pre-filled personal message links - #11.

2 „Gefällt mir“

Ok, es funktioniert. Vielen Dank!

alte Nachricht:

Danke an @simon für deine Antwort. Leider habe ich es nicht zum Laufen gebracht. In deinem Link stand, dass man eine URL wie

http://localhost:3000/session/sso?return_path=http%3A%2F%2Flocalhost%3A3000%2Fnew-message%3Fusername%3Dscossar%26title%3DInformation+requested+about+gentle+yoga+classes
verwenden soll. Zuerst dachte ich, ich müsste sie in Schritt 6 der offiziellen Discourse-SSO-Dokumentation einfügen. Es würde dann so aussehen:

http://discourse_site/session/sso_login?sso=payload&sig=sig&return_path=https%3A%2F%2Fdiscourse_site%2Fnew-message%3Fusername%3Dscossar%26title%3DInformation%2Brequested%2Babout%2Bgentle%2Byoga%2Bclasses

Aber das hat nicht funktioniert. Also habe ich angefangen, es an verschiedenen Stellen zu testen, und keine davon funktionierte. Könntest du bitte genauer erläutern, wo ich return_path einfügen soll?

1 „Gefällt mir“

Alles, was du tun musst, ist einen Link im Format erstellen, das in diesem Beitrag angegeben ist. Du musst die korrekte URL deiner Discourse-Website einsetzen und den Benutzernamen von scossar in einen Benutzernamen ändern, der auf deiner Seite existiert. Füge dem Link keine payload- oder sig-Parameter hinzu. Das wird alles von deiner bestehenden SSO-Implementierung übernommen. Der return_path-Parameter dient lediglich dazu, den Benutzer an eine URL umzuleiten, die das vorab ausgefüllte Thema erstellt.

Beachte, dass ich in dem verlinkten Beispiel eine vorab ausgefüllte Nachricht und kein vorab ausgefülltes Thema erstelle. Du musst den im Beispielcode angegebenen return_path anpassen, um ein Thema anstelle einer Nachricht zu erstellen.

1 „Gefällt mir“

This topic was automatically closed 30 days after the last reply. New replies are no longer allowed.