Anmeldeflow (Flask -> Discourse -> Flask) mit OAuth

Hallo!

Ich habe zwei zusammenhängende Fragen – hoffentlich kann mir jemand weiterhelfen :slight_smile:

Ich habe meine Discourse-Instanz so konfiguriert, dass sie OAuth über Twitter, Facebook und Google unterstützt. Mein Ziel ist folgendes:

Szenario 1:

  1. Ein Benutzer landet auf /home (Python/Flask-App).
  2. Er möchte ein Discourse-Konto registrieren.
  3. Er wird zum entsprechenden OAuth-Flow weitergeleitet, z. B. https://discourse.example.com/auth/google.
  4. Kann ich ihn nach Abschluss der Registrierung zurück zu /home weiterleiten?

Szenario 2:

  1. Ein Benutzer landet auf /home (Python/Flask-App).
  2. Er hat bereits ein Discourse-Konto.
  3. Er möchte sich in der Haupt-App über OAuth anmelden, um auf eine geschützte Seite zuzugreifen.
  4. Er wird zum entsprechenden OAuth-Flow weitergeleitet.
  5. Kann ich ihn nach der Verifizierung seiner Zugangsdaten durch Discourse zu /user weiterleiten?

Bitte lasst mich wissen, falls etwas unklar ist – ich erkläre es gerne genauer!

Vielen Dank!

Falls du es noch nicht gesehen hast, findest du unsere Dokumentation unter Discourse OAuth2 Basic. Enthält sie einige der Antworten, die du suchst?

Danke für die Antwort, @rishabh!

Soweit ich das beurteilen kann, deckt die Dokumentation meine Fragen leider nicht ab. Meine OAuth-Konfigurationen funktionieren wie erwartet; Schwierigkeiten bereiten nur die zusätzlichen Funktionen, die in den Szenarien 1 und 2 beschrieben sind.

Ich suche nach etwas wie einem optionalen Parameter callback_url, der den Benutzer nach der Verifizierung seines Kontos durch den OAuth-Anbieter und der Rückkehr zu Discourse auf die Ziel-URL weiterleitet.

Ich vermute, es ist so, als würde meine Discourse-Instanz selbst als OAuth-Anbieter für meine Flask/Python-App fungieren?

Beispiel: https://discourse.example.com/auth/google?callback_url=https://example.com/home leitet den Benutzer zu Google, bringt ihn zurück zu Discourse, das ihn dann an callback_url weiterleitet.