A partire dal 24 marzo, sembra esserci stato un cambiamento nel modo in cui l’API di Discourse risponde alle richieste.
Non sono state apportate modifiche al codice da parte nostra e la Api-Key è ancora valida, ma uno dei nostri servizi backend che tenta di ottenere informazioni sull’utente ha iniziato a fallire quando raggiunge users/by-external/{id}.json.
Inviamo gli header Api-Key e Api-Username con queste richieste, che dovrebbero essere obbligatori, secondo la documentazione. Queste richieste hanno funzionato correttamente per anni.
Ora, tutte le richieste effettuate a questo endpoint falliscono con un 403 e il corpo della risposta:
{
"errors": [
"Non sei autorizzato a visualizzare la risorsa richiesta."
],
"error_type": "invalid_access"
}
Questo accade anche se provo a richiedere /u/{username}.json.
Sorprendentemente, quando NON invio gli header, queste richieste che, secondo la documentazione, richiedono questi header di autenticazione, rispondono effettivamente con i dati richiesti, come se fossero autenticate.
Ho anche provato a inviare una Api-Key errata e la risposta è leggermente diversa:
{
"errors": [
"Non sei autorizzato a visualizzare la risorsa richiesta. L'username o la chiave API non sono validi."
],
"error_type": "invalid_access"
}
Ciò mi dice che la chiave viene accettata, ma segnala erroneamente che non concede l’accesso alla risorsa, mentre concede pieno accesso alle richieste non autenticate.
Ho anche appena testato con una Api-Key nuova di zecca con opzioni globali / tutti gli utenti e ottengo gli stessi risultati.