Sto costruendo un’applicazione desktop, con un forum di accompagnamento (che esegue Discourse, ovviamente) e un sito web.
Sul nostro sito web, vorrei mostrare alcune informazioni aggiuntive se il visitatore del sito web è anche loggato nel forum.
Ho capito come effettuare il login dal sito web o dall’applicazione desktop (vedi questo post), ma quello che non riesco a trovare è un modo per verificare se il mio visitatore del sito web è loggato (e se sì, chi è), senza chiedergli effettivamente di effettuare il login.
C’è un modo per farlo, ad esempio utilizzando l’API di Discourse?
Penso che tu debba ottenere l’ID utente dal payload SSO e quindi utilizzare una richiesta API di Discourse per ottenere il nome utente e lo stato di accesso corrente.
Se l’utente accede sul sito web del forum, allora come posso ottenere successivamente il payload SSO? So come ottenerlo quando avvio l’accesso da solo (generando un link {forum_url}/session/sso_provider?sso=... ecc.), ma quando l’utente avvia l’accesso, allora non ho idea di come potrei ottenere il payload SSO.
Ciò dovrebbe essere effettivamente possibile, anche se l’URL esatto per la richiesta API non sembra essere documentato in https://docs.discourse.org. Quale sarebbe l’URL corretto?
Non sono sicuro, ma sospetto che tu debba accedere al user_auth_token dai dati JSON del payload? Solo un’ipotesi per darti delle idee. Forse qualcuno che ne sa di più su Discourse connect SSO può aiutarti.