Ho aggiornato Discourse ieri e ricevo errori in tutti i callback API. Ho scoperto che il problema riguarda le intestazioni di autenticazione (1), ma provando alcune chiamate ricevo questo errore:
Access to XMLHttpRequest at 'https://mydomain.com/notifications.json?username=admin' from origin 'https://mydomain.com' has been blocked by CORS policy: Request header field api-username is not allowed by Access-Control-Allow-Headers in preflight response.
Sto usando Vue e ho aggiunto api-key e api-username alle intestazioni in questo modo:
Sì, ho aggiunto il dominio da cui chiamo l’API nelle impostazioni di Discourse, ma quell’errore relativo al campo api-username: non so quando debba risolverlo.
Stai inserendo la tua chiave API system nel codice lato client?
Questo significa che chiunque può prenderla dal tuo codice JavaScript e usarla per possedere completamente il tuo forum.
Qualsiasi richiesta HTTP Ajax a Discourse dovrebbe sfruttare una sessione esistente o non averne affatto bisogno.
Nel mio caso, ho un SSO con un’app frontend in JavaScript. È possibile utilizzare l’API senza dover mostrare l’interfaccia di autorizzazione per ogni utente? Vorrei un modo per utilizzare l’api-username… è possibile?