Neu eingeführte api_username Einschränkung?

Für unsere Anwendung verwenden wir einen globalen API-Schlüssel, der für alle Benutzer genutzt wird. Wir haben einen virtuellen Benutzernamen (nicht vorhandener Benutzer) anonymous verwendet, um den Kontext darzustellen, wenn ein Benutzer nicht angemeldet war. Dies funktionierte seit über 3 Jahren, bis zum 25.10.2020 um 00:39 Uhr CT.

Ich habe dies heute behoben, indem ich einen Benutzer mit diesem Benutzernamen erstellt habe. Wurde am Wochenende eine Einschränkung eingeführt? Update zur API?

Dies hat die Möglichkeit beeinträchtigt, Kommentare für alle öffentlichen Benutzer anzuzeigen, daher wäre eine Antwort sehr willkommen.

Vielen Dank,

Justin

Hier ist der Fehler…

Mir ist keine kürzliche Änderung bekannt, die dieses Verhalten geändert hätte. Ich war der Eindruck, dass es schon immer so funktioniert hat (d.h. eine Fehlermeldung anzeigt, wenn der Benutzer nicht gefunden werden kann). Dies ist der Code, der prüft, ob der Benutzername aus den API-Anmeldedaten gelesen werden kann.

Und das user-Objekt unten wird nil sein, da es nicht existiert, was die oben genannte Fehlermeldung in Zeile 131 auslöst.

Es wurde vor 23 Tagen eine Änderung vorgenommen, die jedoch nicht auf Ihre Situation zutrifft und ohnehin eine andere Fehlermeldung zurückgibt.

Nur zur Sicherheit: Ich habe mein lokales Discourse so konfiguriert, dass es diesen Commit von vor über einem Jahr verwendet, und ich erhalte denselben Fehler, wenn ich einen nicht existierenden Benutzer verwende.

Ein positiver Aspekt dabei ist, dass wir jetzt API-Bereiche haben. Wenn die Benutzer nur read-Zugriff benötigen, können Sie den API-Schlüssel so aktualisieren, dass er kein Schlüssel mit Vollzugriff mehr ist.

1 „Gefällt mir“

Wenn es sich um eine öffentliche Website handelt, sollten Sie diese Anfragen von Ihrem Backend aus ohne jegliche Authentifizierung stellen können, um die anonyme Ansicht zu erhalten. Falls die Ratenbegrenzung zum Problem wird, müssen Sie tatsächlich einen Dummy-Benutzer verwenden.

1 „Gefällt mir“

Eine weitere Sache, die mir gerade eingefallen ist, betrifft die Site-Einstellung revoke api keys days. Da dieser Benutzer nicht existiert, wird das Datum der letzten Nutzung für diesen Schlüssel nie aktualisiert, und ich wette, der Schlüssel wurde automatisch widerrufen? Ich bin immer noch nicht sicher, wie du überhaupt in der Lage gewesen sein solltest, eine gültige Anfrage zu stellen.