Create-User über REST-API scheint nicht zu funktionieren

Hallo,

Ich habe einen neuen Benutzer über die REST-API erstellt.

Aber ich kann mich nicht mit den Anmeldedaten des neuen Benutzers anmelden. Wenn ich die Benutzertabelle durchsuche, kann ich das Benutzerkonto nicht finden.

Um das Problem zu beheben, habe ich den folgenden CURL-Befehl ausgeführt.

Ich habe auch versucht, eine JSON-Nutzlast mit dem CURL-Befehl zu verwenden.

Ich erhalte beide Male dasselbe Ergebnis: Ich kann mich nicht mit den Anmeldedaten des neuen Benutzers anmelden und der neue Benutzer wird nicht in der Benutzertabelle gefunden.

Irgendwelche Ideen?

Danke

Die Nachricht hier ist etwas irreführend; active:false zeigt an, dass der Benutzer nicht erstellt wurde, sondern bereits existierte.

Stellen Sie sicher, dass nicht bereits ein Benutzer mit derselben E-Mail-Adresse vorhanden ist, insbesondere wenn normalize_emails aktiviert ist.

3 „Gefällt mir“

Scheint ähnlich zu User creation API: ‘active’ attribute set to True but returns False in response

4 „Gefällt mir“

Mir ist aufgefallen, dass in unserer API-Dokumentation ein Fehler vorliegt. Der active-Parameter ist nur zulässig, wenn ein API-Schlüssel verwendet wird, der einem Admin-Benutzer zugeordnet ist, und dies ist seit 2016 der Fall.

Vorerst habe ich die Dokumentation in DEV: Correct users create API docs by tgxworld · Pull Request #31578 · discourse/discourse · GitHub korrigiert.

4 „Gefällt mir“

Das wird helfen, ja.

Es behebt immer noch nicht das ursprüngliche Problem, dass die Nachricht für Administratoren irreführend ist.

○ → curl -X POST -H \"api-key: $API_KEY\" -H 'api-username: michael' https://try.discourse.org/users.json --json \"$(jo email=michael+test@contoso.com username=michaeltest password=$PASSWORD active=true approved=true)\"
{\"success\":true,\"active\":true,\"message\":\"Your account is activated and ready to use.\"}

○ → curl -X POST -H \"api-key: $API_KEY\" -H 'api-username: michael' https://try.discourse.org/users.json --json \"$(jo email=michael+test2@contoso.com username=michaeltest2 password=$PASSWORD active=true approved=true)\"
{\"success\":true,\"active\":false,\"message\":\"Your account is activated and ready to use.\"}

^ Nur ein einziger Benutzer wurde oben erstellt

Ich vermute, dass viele Verschleierungen in den Pfad /users.json eingebaut wurden, um Spammer usw. abzuschrecken, aber dies scheint auch den Administratoren Schwierigkeiten zu bereiten. Ich frage mich, ob wir einen expliziten Admin-Pfad hinzufügen sollten, um die beiden (normale Kontoerstellung vs. Admin-Kontoerstellung) zu trennen, was die Admin-Funktion unobfuscated machen würde.

1 „Gefällt mir“

Sie haben Recht. Das war das Problem: Ein Benutzer mit derselben E-Mail-Adresse ist bereits vorhanden.

Ich habe nach Benutzername und nach created_at desc gesucht, weshalb der neue Benutzer in den Suchergebnissen nicht angezeigt wurde.

Die erfolgreiche Antwort hat mich irritiert.

Vielen Dank für Ihre Hilfe.

This topic was automatically closed 30 days after the last reply. New replies are no longer allowed.