Dev-Umgebung: empfohlener Weg, das erste Admin-Konto ohne E-Mail einzurichten?

Ich habe mit dem discourse/discourse_dev Docker-Image (auf einem Windows 11 Laptop) experimentiert und dabei einen kleinen Reibungspunkt im Entwickler-Workflow festgestellt.

Wenn Discourse im Entwicklungsmodus ohne konfigurierte ausgehende E-Mail ausgeführt wird:
1. Die Anmelde-/Login-Seite ist über Ember CLI (localhost:4200) erreichbar.
2. Sie können ein Benutzerkonto erstellen.
3. Aber das Login wird blockiert, da eine E-Mail-Bestätigung erforderlich ist.

Die Umgehungslösung scheint die manuelle Aktivierung des Kontos in der Rails-Konsole zu sein, zum Beispiel:

u = User.find_by(username: "admin")
u.approved = true
u.email_tokens.update_all(confirmed: true, expired: true)
u.save!

Das funktioniert, aber ich habe mich gefragt:

Gibt es einen empfohlenen Entwickler-Workflow, um das erste Administratorkonto zu erstellen, wenn E-Mail nicht konfiguriert ist?

Zum Beispiel:
• Sollten Entwickler SMTP auch in der Entwicklungsumgebung konfigurieren?
• Gibt es dafür eine Hilfsaufgabe (rake admin:create usw.)?
• Wäre es sinnvoll, wenn der Entwicklungscontainer den Login des ersten Benutzers ohne E-Mail-Bestätigung erlauben würde?

Ich frage hauptsächlich, um einen reibungsloseren Einrichtungsprozess für neue Entwickler zu dokumentieren, die mit dem Entwicklungscotainer experimentieren.

Ja, die gibt es:

2 „Gefällt mir“

Danke! Das hat das Problem gelöst – ich war bei meinen Experimenten mit dem discourse_dev-Container nicht auf bin/rails admin:create gestoßen.

Was mich anfangs verwirrt hat, war, dass der normale UI-Anmeldeprozess bis zur Kontoerstellung funktioniert, die Anmeldung dann aber durch die E-Mail-Bestätigung blockiert wird, wenn SMTP nicht konfiguriert ist.

Für jemanden, der nur die Entwicklungsumgebung erkundet, sieht es so aus, als ob der Anmeldevorgang fehlschlägt, es sei denn, man weiß von dem Hilfsprogramm.

Es wäre vielleicht hilfreich, bin/rails admin:create explizit in der Dokumentation zur Entwicklungseinrichtung für den Docker-Entwicklungscontainer zu erwähnen, da neue Mitwirkende oft keine SMTP-Konfiguration haben.

Ich bin mir nicht sicher, ob es in dieser Anleitung notwendig ist, da dort steht:

Es scheint also, dass die Erstellung des Admin-Benutzers bereits Teil des Workflows ist

1 „Gefällt mir“

Wenn Sie in Ihrer Entwicklungsumgebung E-Mail-Zugriff benötigen, können Sie auch MailHog ausführen.

Dazu müssen Sie lediglich eine neue Befehlszeile in Ihrem Discourse-Verzeichnis öffnen und mailhog ausführen. Wenn Sie dann localhost:8025 besuchen, können Sie E-Mails sehen, die normalerweise gesendet würden, ohne dass etwas konfiguriert werden muss.

2 „Gefällt mir“