Ciao,
Sto cercando di creare un processo di accesso a Discourse dalla mia app front-end. Come dovrei fare?
Grazie ![]()
Ciao,
Sto cercando di creare un processo di accesso a Discourse dalla mia app front-end. Come dovrei fare?
Grazie ![]()
Questa è la soluzione usuale:
Se gestisci gli utenti solo su Discourse, allora un pulsante di reindirizzamento è probabilmente più facile!
Grazie per la tua risposta! ma posso effettivamente aprire una specie di iframe in modo che possano scegliere come essere autenticati?
No, gli iframe non sono supportati.
Puoi gestire gli account utente sul tuo sito principale, quindi autenticarti con Discourse Connect, oppure semplicemente avere un link al tuo Discourse.
Potresti collegarti al percorso di accesso per richiederlo immediatamente? /login
Non riesco davvero a capire come usarlo. Voglio dire, immagino qualcosa come un pulsante di accesso sul mio sito web, poi l’utente deve scegliere come essere autenticato, giusto? Voglio dire, qual è il flusso possibile per questo scenario?
Perché hai bisogno che accedano al tuo sito web? Stai gestendo account utente lì?
Voglio poter creare post/argomenti dal mio front end, quindi ho bisogno che siano autenticati prima. Ha senso?
OK ha senso. In sostanza stai dicendo: “Voglio riscrivere parti dell’interfaccia utente e comunicare solo tramite API”?
Non credo che otterrai molto supporto gratuito per aiutarti a farlo qui, ma dai un’occhiata a:
https://meta.discourse.org/t/help-with-authenticating-user-via-api/178355/2?u=merefield
Ci sono sforzi esistenti per farlo, in particolare tramite app, potresti volerli ricercare, ad esempio:
C’era anche Fig, ma non è ancora open source:
Ma nota l’altissimo livello di sviluppo iniziale e manutenzione che questi tipi di soluzioni richiedono. Credo che i due migliori esempi siano stati abbandonati (?)
In alternativa, considera di costruire il tuo sito web come un’istanza Discourse interamente (tramite plugin e componenti tematici) per evitare di dover riscrivere molti elementi dell’interfaccia utente.
Sto usando Discourse come identity provider e ha funzionato benissimo, puoi usarlo per creare un link “Login” sul tuo sito web che porterà il tuo utente alla tua istanza Discourse e, se è già connesso o dopo aver completato il flusso di accesso, l’utente verrà reindirizzato a return_sso_url che hai aggiunto al payload, con le credenziali e le informazioni dell’utente. Questo return_sso_url può essere un percorso sul tuo sito web che memorizza la sessione autenticata nel modo che preferisci (come un cookie di sessione) una volta ricevuto il payload di Discourse.
FWIW, Lexicon non è abbandonato ed è ancora in fase di sviluppo attivo.
@Roie_Natan se hai familiarità con Javascript, potresti dare un’occhiata al codice sorgente di Lexicon per vedere come è stato realizzato.
Tuttavia, come ha sottolineato @merefield, ci sono post esistenti che potrebbero aiutarti a capirlo.
Ecco una risorsa che parla delle sessioni utente: Storing extra data about a user's session - #3 by sam
E potresti anche trovare utile il flusso di autenticazione dall’app di @pmusaraj:
Ottimo! Grazie per la correzione.