Amministro un blog WordPress multi-autore. Come posso far funzionare la pubblicazione senza costringere tutti i miei autori a creare un account su Discourse? Dovrei utilizzare l’SSO tra WordPress e Discourse per risolvere questo problema?
Se desideri che gli autori possano pubblicare post sotto il proprio nome su Discourse, dovranno creare degli account Discourse. L’SSO è un buon approccio per questo scopo, ma quando l’SSO è abilitato, gli utenti potranno accedere al tuo forum solo tramite il sito WordPress. Questo potrebbe non essere ciò che desideri.
Un’altra opzione sarebbe pubblicare tutti i post da WordPress a Discourse sotto un unico nome utente Discourse. Se gli utenti lasciano vuoto l’impostazione del nome utente Discourse, i post verranno pubblicati su Discourse dal nome utente di pubblicazione che hai impostato nella scheda “Impostazioni di connessione” del plugin.
Interessante… Per quanto riesco a vedere, nessuno dei miei autori ha questa impostazione attiva. Quando visualizzo i profili utente, non vedo l’opzione per la configurazione del nome utente Discourse. Dove potrei trovarla?
Inoltre, ho appena notato che sto utilizzando la seguente impostazione nel plugin Discourse per WordPress:
Rimuove il campo Nome Discourse dalla pagina del profilo utente di WordPress.
Non visualizzare il campo Nome Discourse - A meno che SSO non sia abilitato, questa impostazione farà sì che tutti i post pubblicati su Discourse vengano pubblicati con il ‘Nome Utente di Pubblicazione’.
La mia comprensione è che l’impostazione sopra costringa tutti i post a essere pubblicati dall’utente definito come utente di pubblicazione nell’impostazione “Nome Utente di Pubblicazione”.
Cosa sto tralasciando?
Grazie. Mi sono appena accorto di aver impostato Non mostrare il campo nome Discourse, il quale avrebbe dovuto forzare tutti i post a utilizzare il nome utente di pubblicazione.
Sì, disattivalo se vuoi che i post siano pubblicati con il nome utente Discourse dell’autore, che dovresti poter impostare senza problemi. (Alcuni temi, come Extra, impediscono la modifica del nome utente nascondendolo nella pagina del profilo.)
Modificato per aggiungere: Ora vedo che il titolo di questo argomento è un numero di errore. Non sono sicuro che qualcosa di quanto detto possa risolverlo.
Sì, è così che dovrebbe funzionare. Riesci a pubblicare post dal tuo account da WordPress a Discourse?
La causa più comune dell’errore 403 quando i post vengono pubblicati su Discourse è che il Nome Utente di Discourse è impostato in modo errato. Potrebbe essere utile disabilitare l’impostazione ‘Non mostrare il campo Nome Discourse’ e controllare le pagine profilo di alcuni dei tuoi autori. Assicurati che il campo Nome Utente di Discourse per gli autori sia vuoto. Si trova nella sezione Informazioni di contatto della pagina profilo dell’utente.
Stiamo per spostare il Nome Utente di Discourse fuori dalla sezione Informazioni di contatto e dare anche agli amministratori del sito la possibilità di impostare manualmente il Nome Utente di Discourse per i loro autori, nascondendo l’impostazione agli autori stessi. Questo è per motivi di sicurezza: per garantire che le persone utilizzino il Nome Utente di Discourse corretto sui siti con più autori.
Va bene, era proprio quello che mi aspettavo.
Pensavo che il problema fosse legato alla mancata corrispondenza dei nomi utente, ma credevo che, abilitando l’opzione “Non visualizzare il campo Nome Discourse”, questo avrebbe sovrascritto tutto.
Penso che la modifica che hai menzionato sarebbe davvero utile.
Ho appena provato a pubblicare con l’opzione disattivata, ma ho ottenuto lo stesso errore.
Dopo aver disattivato l’opzione, puoi controllare la tua pagina del profilo per assicurarti che il campo Nome utente Discourse sia vuoto?
I nomi utente di Discourse sono vuoti per tutti gli utenti.
Quando vai alla scheda delle opzioni di connessione di WP Discourse, vedi un messaggio che dice ‘Sei connesso a Discourse’?
Per le impostazioni della chiave API e del nome utente di pubblicazione nella scheda delle opzioni di connessione, stai usando la chiave API ‘Tutti gli utenti’ del tuo forum Discourse? Il nome utente di pubblicazione è impostato sul nome dell’utente di sistema del tuo sito? Il nome utente predefinito per l’utente di sistema è ‘system’.
Sì. Nella scheda delle opzioni di connessione vedo il messaggio “Sei connesso a Discourse”.
La chiave API è quella di tutti gli utenti e il nome di pubblicazione è quello dell’amministratore del forum Discourse. Il nome utente non è l’utente di sistema “system”.
Potresti provare a cambiare il nome utente in ‘system’ (senza le virgolette) per vedere se fa la differenza?
Ho modificato il nome utente in system, ma ricevo lo stesso messaggio di errore.
“Si è verificato un errore durante la pubblicazione di questo post su Discourse.”
Ecco i dettagli mostrati nell’email di errore:
Motivo del fallimento:
È stato restituito un codice di risposta 403 da Discourse.
Accesso negato
Verifica che:
- l’autore abbia impostato correttamente il proprio nome utente su Discourse
Qualcuno ha altre idee su come risolvere questo problema?
L’unica cosa che mi viene in mente da provare è creare una nuova chiave API e reinserire tutto.
Ok, è molto strano. Sto usando NodeChef per ospitare Discourse. Mi chiedo se sia un problema della loro build o della configurazione del server. Pareri?
Ho provato a cambiare le chiavi e ho ancora lo stesso problema.
Grazie per i dettagli sull’hosting. Avrei dovuto chiedere proprio quello. È possibile che il problema sia legato al loro hosting. Non è un problema che ho riscontrato con il nostro hosting, né con i siti ospitati su https://www.communiteq.com/ o con siti auto-ospitati.
Se sul tuo sito WordPress hai a disposizione WP-CLI, il modo più semplice per eseguire il debug sarebbe provare a creare un argomento Discourse dalla console di wp, utilizzando le stesse credenziali che stai usando nella configurazione di WP Discourse. La risposta a tale richiesta fornirebbe alcuni dettagli sul problema.
Ok. Ci proverò.
Stavo pensando di configurare un’istanza self-hosted sul mio account AWS. Ci proverò e vedrò se presenta gli stessi problemi. Grazie per il tuo aiuto.
Per qualche motivo, la pubblicazione fallisce con l’errore 403. E non importa cosa faccio.
Motivo del fallimento:
È stato restituito un codice di risposta 403 da Discourse.
Vietato
Verifica che:
- l’autore abbia impostato correttamente il proprio nome utente Discourse
La scheda Connessione mostra ‘connesso a Discourse’. L’impostazione ‘Non visualizzare il campo Nome Discourse’ è disabilitata nella Pubblicazione.
Ho già ricreato una nuova chiave API per garantire la connessione. Il nome utente predefinito per l’utente di sistema è ‘system’.
Sono senza parole.
Qualsiasi aiuto sarebbe apprezzato.