Benutzer-API-Schlüssel Spezifikation

Wäre es sinnvoll, detect-browser javascripts zu überspringen, wenn jemand den Endpunkt

https://sitename.com/user-api-key/new

verwendet? Sie werden höchstwahrscheinlich von einer App dorthin weitergeleitet, daher macht die Überprüfung, ob ihre JavaScript-Engine auf dem neuesten Stand ist, wenig Sinn und blockiert nur Benutzer, die einen API-Schlüssel für die In-App-Nutzung generieren möchten.

Aber Sie müssen sich immer noch anmelden, damit es funktioniert

Ja, das ist das Problem. Wenn user-api-key/new Sie zu einer Anmeldeseite weiterleitet, beginnt diese, Ihren Browser zu überprüfen, und anstatt die Anmeldung zur Generierung eines API-Schlüssels zuzulassen, beschwert sie sich, dass Ihr Browser zu alt ist. Könnten Sie diese Überprüfungen überspringen, wenn der Benutzer nur hier ist, um einen API-Schlüssel zu generieren?

Ja, das ist das Problem. Es ist eine Art Javascript-loser Weg zum Einloggen, was angesichts der enormen Anzahl von Authentifizierungsoptionen, die wir unterstützen, und der Spam-Schutzmaßnahmen unglaublich komplex ist.

1 „Gefällt mir“

Benötigt kein Javascript, aber Anmeldeformulare benötigen nicht wirklich all die Extras, die anderswo auf der Website verwendet werden? Zumindest für die Weiterleitung an auth/oauth2_basic scheint dies nicht erforderlich zu sein, da 99 % über Header und Weiterleitungen erfolgen. Ich habe eine App auf SailfishOS, die mit den .json’s und der Übergabe des api-keys einwandfrei funktioniert, was großartig ist, da der Browser dort auf esr78 Firefox basiert und auf den meisten Discourse-Instanzen blockiert wird. Der einzige Weg, einen api-key zu erhalten, scheint jedoch die manuelle Eingabe einer 200+ Zeichen langen URL auf dem Desktop zu sein, dann das Einfügen des resultierenden Codes zurück auf das Telefon, um ihn zu dekodieren, absolut lächerlich.

5 Beiträge wurden in ein neues Thema aufgeteilt: Benutzer-API-Schlüssel sollten OAEP-Padding verwenden

Hallo Leute. Ich habe User API-Schlüssel für die Protokollierung mit einem Drittanbieter-Client verwendet. Es hat immer gut funktioniert. Aber jetzt erhalte ich auf einigen Websites eine Fehlermeldung

Die Nachricht lautet

Ups
Die Software, die dieses Diskussionsforum antreibt, ist auf ein unerwartetes Problem gestoßen. Wir entschuldigen uns für die Unannehmlichkeiten.

Detaillierte Informationen über den Fehler wurden protokolliert und eine automatische Benachrichtigung generiert. Wir werden uns das ansehen.

Es sind keine weiteren Maßnahmen erforderlich. Sollte die Fehlerbedingung jedoch weiterhin bestehen, können Sie zusätzliche Details, einschließlich der Schritte zur Reproduktion des Fehlers, angeben, indem Sie ein Diskussionsthema in der Feedback-Kategorie der Website veröffentlichen.

Gab es in den letzten Versionen eine Änderung an dieser Funktion?

Meinen Sie „sich anmelden“? Ich denke, Discourse Connect ist wahrscheinlich ein besserer Weg, das zu tun, obwohl ich nicht weiß, was Sie eigentlich tun.

Sie müssen sich die Protokolle ansehen, um weitere Informationen darüber zu erhalten, worin der Fehler besteht.

Ich führe eine benutzerdefinierte Benutzeroberfläche aus und muss daher Aktionen im Namen des Benutzers ausführen. Dafür verwende ich User API-Schlüssel.

Dafür verwende ich die folgende URL

https://discussion.fedoraproject.org/user-api-key/new?auth_redirect=discourse%3A%2F%2Fauth_redirect&application_name=DisCorkie&client_id=019695ed-8b7e-71b1-b55e-7efe8be1e9ae&scopes=read%2Cwrite%2Cnotifications%2Cpush%2Csession_info&push_url=https%3A%2F%2Fherxbktlunuawewahana.supabase.co%2Ffunctions%2Fv1%2Fdiscourse-webhook&public_key=-----BEGIN+PUBLIC+KEY-----%0AMIICIjANBgkqhkiG9w0BAQEFAAOCAg8AMIICCgKCAgEAkD%2BNgNuAMv2ZSSR95V1B%0Afla9n3HbCPxAFB5%2B%2BitC9hlWEOfXZPToWAax5DuNUitzikLVWrldyRe%2BfgtS5F3Q%0AGvuzCtnFwyBNoIkuUva8uCzQ4K7T9RgnWIIfNsx2ONuk2GLhEeLUgb46F8VULbD3%0A4eExqEYoGK7tBxr3%2FnVYO%2FogOaibzhoZRiSh69gq6ptXWN9Pka%2Fb3%2Fp2hWF5MSwG%0AK39LiZKOzaga%2BsA0lA0BgdAw7rvnUBfpikL33mqtEJ6JDPhG5KIvBxY2m18T63cX%0AKakxrmZzWwibN%2Bzboe51Z49gtxJIiybaj5Yn7izPj39DKwiv5k%2FaSWFAe8FO0doQ%0AxVoh9qVhlvPq3DdLhcjC0djVNti3X%2BYC2bwUDSp%2BFhrLh%2BsYribCAp6P8TyZ5TZy%0Aw0WnDCatK%2FzPq53Fja2OUa5N43Zr4rSiyQMSdBaeOJwF33nOAHwztkDwOJvSh6fx%0Ag2mTR15Qe%2FRh6yY4fB610mcut%2BBU1oV4SEbxHYyroTaS06oO6k4EmvgJTiWK%2BVVC%0AfMGgFvoPXktKckK0q7xj32PiSTVlYURb27ap7yAHzFKePYkJdo0Sd3Jzghe1RdSg%0A4teQs4VecqIe%2Bv6p7BurFgwlKZyWN0n89u8%2BXihwwwOcVp1UHblqbl%2FKYi5%2BgK6O%0AyahsLRGMGllNIsqarYCZ9nkCAwEAAQ%3D%3D%0A-----END+PUBLIC+KEY-----%0A&nonce=-1646128802

Wo
PARAMETER
auth_redirect: discourse://auth_redirect
application_name: DisCorkie
client_id: 019695ed-8b7e-71b1-b55e-7efe8be1e9ae
scopes: read,write,notifications,push,session_info
push_url: https://herxbktlunuawewahana.supabase.co/functions/v1/discourse-webhook
public_key:
-----BEGIN PUBLIC KEY-----
MIICIjANBgkqhkiG9w0BAQEFAAOCAg8AMIICCgKCAgEAkD+NgNuAMv2ZSSR95V1B
fla9n3HbCPxAFB5++itC9hlWEOfXZPToWAax5DuNUitzikLVWrldyRe+fgtS5F3Q
GvuzCtnFwyBNoIkuUva8uCzQ4K7T9RgnWIIfNsx2ONuk2GLhEeLUgb46F8VULbD3
4eExqEYoGK7tBxr3/nVYO/ogOaibzhoZRiSh69gq6ptXWN9Pka/b3/p2hWF5MSwG
K39LiZKOzaga+sA0lA0BgdAw7rvnUBfpikL33mqtEJ6JDPhG5KIvBxY2m18T63cX
KakxrmZzWwibN+zboe51Z49gtxJIiybaj5Yn7izPj39DKwiv5k/aSWFAe8FO0doQ
xVoh9qVhlvPq3DdLhcjC0djVNti3X+YC2bwUDSp+FhrLh+sYribCAp6P8TyZ5TZy
w0WnDCatK/zPq53Fja2OUa5N43Zr4rSiyQMSdBaeOJwF33nOAHwztkDwOJvSh6fx
g2mTR15Qe/Rh6yY4fB610mcut+BU1oV4SEbxHYyroTaS06oO6k4EmvgJTiWK+VVC
fMGgFvoPXktKckK0q7xj32PiSTVlYURb27ap7yAHzFKePYkJdo0Sd3Jzghe1RdSg
4teQs4VecqIe+v6p7BurFgwlKZyWN0n89u8+XihwwwOcVp1UHblqbl/KYi5+gK6O
yahsLRGMGllNIsqarYCZ9nkCAwEAAQ==
-----END PUBLIC KEY-----
nonce:-1646128802

Es leitet zu /login weiter, der Browser ruft /session/csrf erfolgreich auf, bisher kein Problem.

Wenn der Browser jedoch /auth/oauth2_basic aufruft, erhalte ich eine 500er-Fehlermeldung.

Die Antwort ist diese Fehlermeldung und keine zusätzlichen Informationen.

Discourse Hub führt einen ähnlichen Authentifizierungsfluss durch, aber er funktioniert. Fehlt mir etwas?

[quote=“messiaslima, post:77, topic:48536”]Die Antwort ist diese Fehlermeldung und keine zusätzlichen Informationen.
[/quote]

Gibt es etwas in /logs?

2 „Gefällt mir“

Nach einiger Untersuchung habe ich festgestellt, dass dieses Problem auftrat, weil ich Schlüssel mit 4096 Bit verwendet habe. Ich habe sie auf 2048 geändert und es funktionierte wieder richtig.

Ist diese Schlüsselgröße eine Anforderung? Ist sie irgendwo dokumentiert?

2 „Gefällt mir“