Apikey programmatisch als Admin für Benutzer erstellen

Hallo zusammen, frohes Halloween und frohe Feiertage.

Gibt es eine Möglichkeit, für jeden als Administrator erstellten Benutzer eine API-Schlüssel zu erstellen? Es gibt User API keys specification, das die Benutzerzustimmung benötigt. Gibt es eine Möglichkeit, pro Benutzer API-Schlüssel programmatisch mit einem Admin-API-Schlüssel zu erstellen?

Vielen Dank im Voraus.

1 „Gefällt mir“

Welches Problem wird durch die Erstellung dieser Schlüssel gelöst? Vielleicht gibt es einen anderen Weg und vielleicht wird mehr Wissen eine Lösung vorschlagen.

Wir teilen die Authentifizierung mit einer anderen Website (damit Benutzer kein weiteres Konto erstellen müssen, um Discourse zu nutzen). Nun möchten wir in der anderen Webanwendung einige (nicht öffentliche) Benutzerdaten abrufen und manchmal im Namen des Benutzers posten.

Sie möchten wahrscheinlich so etwas wie DiscourseConnect – Offizielle Single-Sign-On-Lösung für Discourse (SSO).

Oder wenn die App Daten aus Discourse im Browser abruft, dann ist der Benutzer bereits angemeldet. Oder wenn die App die Daten auf irgendeine automatisierte Weise im Backend abruft, können Sie einfach den globalen Schlüssel verwenden.

Ja, vielen Dank für den SSO-Link. SSO ist bereits erledigt. Wir möchten im Namen von Benutzern vom Frontend unserer Web-App (React-App) posten.

Sie müssen also vom Browser aus posten (bedeutet das “Frontend”?), damit sie eingeloggt sind. Sie müssen also nur die CORS-Sache klären, denke ich.

Ja, vom Browser aus. Entschuldigen Sie, wenn ich mich nicht klar ausgedrückt habe. Dies geschieht alles von einer anderen Webanwendung aus, der Benutzer ist nicht angemeldet und es gibt kein iFraming von Discourse. Die Anfrage stammt von einem Browser, der den apikey als Request-Parameter übergibt.

Mein Verständnis von API-Schlüsseln ist, dass wir, sobald wir den API-Schlüssel eines Benutzers haben, in seinem Namen von überall aus handeln können, sogar von einer Konsole/einem Terminal (curl oder Äquivalent). Kein CORS mehr.

https://meta.discourse.org/t/discourse-api-documentation/22706/301

4 „Gefällt mir“

Lebensretter! Danke!