Flusso di login (Flask -> Discourse -> Flask) con OAuth

Ciao!

Ho due domande correlate, spero che qualcuno possa aiutarmi :slight_smile:

Ho configurato la mia istanza Discourse per supportare OAuth tramite Twitter, Facebook e Google. Ciò che vorrei fare è quanto segue:

Scenario 1:

  1. L’utente atterra su /home (applicazione Python/Flask)
  2. Vuole registrarsi per un account Discourse.
  3. Viene reindirizzato al flusso OAuth appropriato, ad esempio https://discourse.example.com/auth/google.
  4. Posso reindirizzarlo indietro a /home una volta completata la registrazione?

Scenario 2:

  1. L’utente atterra su /home (applicazione Python/Flask)
  2. Ha giĂ  un account Discourse.
  3. Vuole accedere all’app principale utilizzando OAuth per accedere a una pagina protetta.
  4. Viene reindirizzato al flusso OAuth appropriato.
  5. Posso reindirizzarlo a /user una volta che Discourse ha verificato le sue credenziali?

Fatemmi sapere se qualcosa non è chiaro e sarò felice di fornire ulteriori dettagli!

Grazie!

Nel caso non l’aveste ancora visto, la nostra documentazione si trova su Discourse OAuth2 Basic. Contiene alcune delle risposte che state cercando?

Grazie per la risposta @rishabh!

Purtroppo, per quanto ne so, la documentazione non copre le mie domande. Le mie configurazioni OAuth stanno funzionando come previsto; solo le funzionalitĂ  aggiuntive descritte negli scenari 1 e 2 causano problemi.

Quello che cerco è qualcosa di simile a un parametro opzionale, callback_url, che reindirizzi l’utente al suo URL di destinazione, dopo che il provider OAuth abbia verificato il suo account e lo abbia riportato su Discourse.

Immagino sia un po’ come se la mia istanza di Discourse agisse essa stessa come provider OAuth per la mia applicazione Flask/Python?

Ad esempio, https://discourse.example.com/auth/google?callback_url=https://example.com/home porta l’utente a Google, lo riporta su Discourse, che a sua volta lo reindirizza al callback_url.