Saluti, spero di ricevere qualche indicazione. Il mio SSO ha smesso di funzionare questa settimana e pensavo di aver risolto tutto ieri (funzionava, lo giuro
Nota: ho dato unâocchiata a âNuovi utentiâ di ieri e oggi e ho avuto nuovi utenti in entrambi i giorni (dopo averlo corretto), ora è rotto di nuovoâŚ). Purtroppo, gli aggiornamenti che ho apportato non funzionano oggi.
Problema: Gli utenti non possono creare nuovi account e gli utenti che disconnettono non possono accedere di nuovo.
Ho notato che il mio server Discourse restituisce errori 400 sulle seguenti rotte:
403: GET : discourse-url/users/by-external/USER-ID.json?
Nota: recentemente ho scoperto nella documentazione API che questa rotta non esiste? (anche se ha funzionato), sembra che la rotta sia: https://discourse.example.com/u/by-external/{external_id}.json
404: POST: discourse-url/admin/users/sync_sso?
Il motivo per cui il segno ? è alla fine è che ho un campo parametro opzionale in una funzione che genera URL; per queste due rotte tutti i dati vengono inviati nel corpo del modulo o negli header.
Sto utilizzando la seguente libreria.
Cosa ho aggiornato (e cosa pensavo avesse risolto il problema):
In tutte le mie richieste, stavo inviando Api-Key e Api-Username tramite un parametro di query. Negli ultimi mesi, ho notato nel mio pannello di amministrazione un avviso che indicava lâuso di header obsoleti nella mia richiesta. Mi ha indirizzato a questo post e i dettagli chiave sono qui:
Avviso di deprecazione!
Il 6 aprile 2020 abbiamo eliminato il supporto per tutte le autenticazioni basate su metodi diversi dagli header HTTP (esclusi alcuni percorsi per RSS, ricezione email e ICS). Ciò significa che le richieste API che includonoapi_keyeapi_usernamenei parametri di query o nel corpo HTTP smetteranno presto di funzionare. Si prega di consultare lâesempio di richiesta cURL riportato di seguito per aggiornare le proprie richieste API e utilizzare gli header HTTP per lâautenticazione.
Ho aggiornato tutte le mie richieste: ora tutte le richieste includono Api-Key e Api-Username nellâheader e il tipo di contenuto è impostato su multipart form data.
Se qualcuno può offrire indicazioni su cosa indagare per risolvere questo problema, ne sarei molto grato. Sono quasi al 100% sicuro che funzionasse alla fine della mia giornata lavorativa di ieri: sono riuscito ad accedere e disconnettermi dal mio account e a creare nuovi account.
Fate sapere se avete bisogno di ulteriori informazioni. Grazie!