Ciao membri!
Spero stiate tutti bene.
Ho creato un forum discourse e ho provato a connetterlo al mio sito web (ASP.NET).
Innanzitutto, ho utilizzato Discourse-Connect e ha funzionato, tuttavia, con esso gli utenti non possono accedere e registrarsi nel forum.
quindi, ho provato a usare Discourse-Api per accedere al forum, ma non è stato completato.
Ho letto molte documentazioni ma non ho trovato la soluzione corretta.
Per favore, qualcuno mi aiuti a risolvere questo problema o mi dica la possibilità, la soluzione corretta.
Gentilmente
Hai due possibilità:
-
Imposta DiscourseConnect in modo che gli utenti si registrino ed effettuino l’accesso al tuo sito web, e quando tenteranno di accedere al tuo forum l’operazione verrà eseguita automaticamente. Questa è la configurazione standard. Se configuri le cose in questo modo, tutte le registrazioni e gli accessi avverranno sul tuo sito web. L’accesso e la registrazione tramite nome utente/password sul tuo forum verranno disabilitati.
-
Imposta DiscourseConnect in modo che gli utenti si registrino ed effettuino l’accesso al tuo forum, e quando tenteranno di accedere al tuo/ai tuoi sito/i web l’operazione verrà eseguita automaticamente. Questa operazione è chiamata impostazione di Discourse come Provider DiscourseConnect e puoi trovare come fare qui.
Grazie per la tua rapida risposta. Ci sono possibilità senza DiscourseConnect?
Perché non vuoi usarlo?
Certo, puoi implementare qualcosa da solo, ma butterai via anni di esperienza che sono stati investiti nella creazione di DiscourseConnect. Quindi, prima di decidere di intraprendere quel compito enorme, devi decidere quale buon motivo hai per costruire qualcosa da solo invece di usare ciò che è già disponibile.
Certo, so che DiscourseConnect è un’ottima funzionalità.
Ma il mio scopo è il login e la registrazione locale sul forum Discourse.
Quindi ho provato a usare l’API di Discourse.
Non ci sono possibilità con l’API di Discourse?
Grazie.
Cordiali saluti
Ok, se vuoi fare un accesso e una registrazione locale su Discourse, allora dimmi che tipo di integrazione con il tuo sito web stai cercando.
Il mio scopo è fare questo:
- Se l’utente ha effettuato l’accesso a mysite, quando va sul forum, l’utente effettua automaticamente l’accesso al forum.
- E l’utente può accedere e registrarsi sul forum.
- Se l’utente ha effettuato l’accesso al forum, quando va su mysite, l’utente effettua automaticamente l’accesso a mysite.
Con DiscourseConnect, posso eseguire 1) e 3), ma non posso eseguire 2).
ma 2) è molto importante per noi.
Se si consentono agli utenti di registrarsi in due punti, le cose diventeranno rapidamente un caos, ed è per questo che devi fare una scelta: o gli utenti si registrano sul tuo sito web o gli utenti si registrano sul tuo forum, ma non entrambi.
Perché è così importante per te?
Grazie per il tuo aiuto.
Tuttavia, il mio capo lo vuole.
Per favore, controlla la mia performance.
Ho provato a eseguire con l’API di Discourse in questo modo
- chiama GET ‘/session/csrf’ e ottieni il token csrf e il cookie
- chiama POST ‘/session’ con Header:‘X-CSRF-Token’=‘token csrf’, ‘Cookie’ = ‘cookie ottenuto’, Dati: login, password, timezone, second-factor-method, authenticity-token
- chiama POST ‘/login’ con Header: ‘Cookie’=‘cookie ottenuto da /session’
Dati: username, password, redirect
Tutti i log sono uguali al flusso di accesso di Discourse.
Ma quando reindirizzo al forum di Discourse, l’utente non è connesso.
Come posso risolvere questo problema? Cosa c’è di sbagliato?
Grazie ancora per il tuo aiuto.
PS. Il mio server è Ubuntu Nginx Server.
Allora dovrai spiegare al tuo capo che avere utenti che si registrano in più di un posto è un’idea molto sbagliata. Le cose diventeranno un enorme pasticcio. Spiegagli cosa succede quando ti registri sul sito web con nomeutenteA e sul forum con nomeutenteB, con lo stesso indirizzo email! O cosa succederebbe se l’utente cambiasse la password solo sul sito web, o solo su Discourse. Allora le cose si romperanno!
Quello che hai fatto accede al tuo SERVER sul forum come l’utente. Non imposterà i cookie di sessione per l’utente, quindi non accederà l’utente al forum.
Inoltre, apparentemente hai a disposizione la password in chiaro per l’utente. Questa è un’idea MOLTO SBAGLIATA. Dovresti sempre memorizzare un hash (crittografia unidirezionale) di una password, e mai la password in chiaro. Quando il tuo database viene violato, tutte le password dei tuoi utenti saranno note all’attaccante. Un’altra buona cosa da spiegare al tuo capo.
Ti ho dato tre buone ragioni che puoi usare per convincere il tuo capo a fare le cose in modo diverso. Questo porterà solo a enormi problemi. Non posso aiutarti a far funzionare questa cosa, perché non funzionerà. Anche se riesci a farla funzionare, funzionerà solo nel breve termine.
Capito.
Lo spiegherò al mio capo.
Grazie mille.
Voglio discutere ancora con te (ovviamente non di questo).
Saluti
Per favore, aiutami ancora.
Il mio server Forum ha un dominio principale e diversi sottodomini.
Posso creare diversi forum Discourse su ciascun dominio utilizzando un unico database?
E posso creare in questo modo?:
-Sul dominio principale, è possibile effettuare il login e la registrazione locale.
-Sui sottodomini, con DiscourseConnect, connettersi ai miei siti.
Se possibile, per favore guidami nella creazione.
Se impossibile, per favore spiegami il motivo.
Grazie.
Sì, è possibile.
- Cerca “multisite” in questo forum.
- Imposta il sito principale come provider DiscourseConnect
- Imposta i siti con sottodominio come client DiscourseConnect