Erstellte Discourse-Benutzerantwort entspricht nicht den Erwartungen

Discourse kehrt zurück

Sie sind fast fertig! Wir haben eine Aktivierungs-E-Mail an abc@gmail.com gesendet. Bitte befolgen Sie die Anweisungen in der E-Mail, um Ihr Konto zu aktivieren.

Wenn sie nicht ankommt, überprüfen Sie Ihren Spam-Ordner.

als Nachricht, selbst wenn die E-Mail-Adresse existiert. Ich habe Änderungen im Code vorgenommen und habe die Aktivierungsnachricht in der create-Methode im UserController auf “Benutzer aktiviert” fest codiert. Selbst dann erscheint die Nachricht wie oben. Kann mir jemand helfen?

Entschuldigung, ich verstehe nicht, was Sie geschrieben haben?

Ich werde es Ihnen im Detail erklären.

Unsere Anforderungen sind also: Wir müssen Bulk-Benutzer aus unserer Datenbank in Discourse registrieren. Daher können wir es nicht zulassen, dass Benutzer ihr Discourse-Konto per E-Mail aktivieren, da wir dies über Firebase in unserer Web-App erledigen.

Ich habe daher einige Recherchen im Discourse-Code durchgeführt und den Teil in der activate-Funktion des userController auskommentiert, der die E-Mail versendet, und den Benutzer dort direkt aktiviert. Dadurch wurde folgende Antwort zurückgegeben:

    success: true,
    active: true,
    message: "Benutzer aktiviert",
    user_id: user.id

Seit gestern erhalte ich jedoch folgende Antwort:

success: true,
active: false,
message: ‘Sie sind fast fertig! Wir haben eine Aktivierungs-E-Mail an abc@gmail.com gesendet. Bitte folgen Sie den Anweisungen in der E-Mail, um Ihr Konto zu aktivieren. Falls sie nicht ankommt, überprüfen Sie Ihren Spam-Ordner.’

Wie kann ich prüfen, ob meine Benutzerregistrierungs-API die create-Funktion aufruft, oder gibt es eine Art Caching, das dieses Problem verursacht?

Sofern Sie die Änderungen nicht in einem Plugin vornehmen, werden beim Aktualisieren von Discourse alle vorgenommenen Änderungen am Discourse-Code überschrieben. Könnte das der Fall sein?

Welches Plugin meinst du? Die einzigen Änderungen, die ich vorgenommen habe, waren im users_controller des Discourse-Codes. Kannst du mir bitte direkt mit dem Code helfen? Ich möchte ihn zum Debuggen verwenden. Sag mir bitte einfach, wo die Routen für die Benutzerregistrierung liegen: /u oder genauer gesagt /u.json.

Außerdem: Wenn ich etwas im userController mit print protokolliere, sollte ich das Log dann im Terminal sehen können? Momentan kann ich es nicht.

Ich habe das Problem gefunden. Ich habe im Payload nicht das richtige password_confirmation und challenge gesendet, weshalb es als verdächtige Anfrage eingestuft wurde. Ich habe die erforderlichen Änderungen vorgenommen, und es funktioniert jetzt. Aber was ist die Logik hinter diesen beiden Parametern, da sie sich ständig ändern?