2017-03-04 3 views
0

Ich benutze meteor-accounts und accounts-password in einer Anwendung und möchte, dass Benutzer ihre Passwörter zurücksetzen können.Meteor application reset password

AccountsTemplates.configure({ 
    showForgotPasswordLink: true, 
    enablePasswordChange: true, 
    sendVerificationEmail: true, 
    enforceEmailVerification: true, 
    confirmPassword: true, 
    showResendVerificationEmailLink: true, 
    continuousValidation: true, 
    privacyUrl: 'privacy', 
}); 

Ein Klick auf einem ‚Passwort zurücksetzen‘ Link erzeugt: Derzeit gibt es keine Notwendigkeit für eine Anpassung von jedem der Formen, und so habe ich ein gemeinsames Layout mit {{> atForm }} und eine Konfigurationsdatei von /lib/config.js mit folgendem verwendet URLs wie folgt aus:

http://localhost:3000/#/reset-password/hMny_A8tdOpNubxtk8mC3BE0vYSJm35K80B2hwwV1CR 

diese jedoch in die völlig nutzlos sind sie für die Stamm-URL für die Anwendung umleiten, während anscheinend das Passwort zu ändern; Benutzer können sich daher nach einem Klick auf einen dieser Links nicht anmelden. Ein Benutzeraccount sieht nach dem Klicken folgendermaßen aus:

{ "_id" : "LcQSCiG7ib5F49tPN", "createdAt" : ISODate("2017-03-04T21:33:57.050Z"), "services" : { "password" : { "bcrypt" : "<redacted>", "reset" : { "token" : "l4HdPzoKkeIUdUeUC5x9NmUiQMnRsY1MRLvYk6Wvqw1", "email" : "<redacted>", "when" : ISODate("2017-03-04T21:51:32.171Z"), "reason" : "reset" } }, "email" : { "verificationTokens" : [ { "token" : "K88HXjzI2UO8vARZv6l6Qf0mUJ1hstInnrJK-8hayzk", "address" : "<redacted>", "when" : ISODate("2017-03-04T21:33:57.072Z") }, { "token" : "NMGLelAWKcCFglRj7aQvZoP85N-_YdWJZ2FcPWu5U8D", "address" : "<redacted>", "when" : ISODate("2017-03-04T21:52:55.930Z") } ] }, "resume" : { "loginTokens" : [ ] } }, "emails" : [ { "address" : "<redacted>", "verified" : false } ] } 

Alles andere funktioniert (z. B. Anmeldung mit Bestätigungs-E-Mails). Ich benutze Blaze Templates und Flow Router inklusive Useraccounts: Flow-Routing.

Ich scheine hier etwas zu vermissen und würde es begrüßen, wenn mir jemand in die richtige Richtung zeigen könnte, damit das funktioniert.

+0

Verwenden Sie auch kadira: blaze-layout? Useraccounts: Flow-Routing hängt davon ab. – jordanwillis

+0

Ich benutze das tatsächlich. – knirirr

Antwort

1

Basierend auf Ihrer Erklärung, ich denke, dass Sie einige Schlüssel Dinge fehlen, um dies zum Funktionieren zu bringen.

Denken Sie zuerst daran, dass Benutzerkonten: Flow-Routing bietet keine Routen aus der Box.

Es sind keine Routen standardmäßig zur Verfügung gestellt, aber Sie können leicht Routen für Zeichen konfigurieren in, anmelden, Passwort vergessen, Passwort zurücksetzen, Passwort ändern, einschreiben Konto AccountsTemplates.configureRoute mit

Da Info, müssen Sie zumindest die Standardroute für das Zurücksetzen des Passworts konfigurieren.

Der einfachste Weg ist der Aufruf im Code nur eine Route (verfügbare Route Codes sind: Signin, SIGNUP, changePwd, forgotPwd, resetpwd, enrollAccount) vorbei zu machen.

Hier ist ein Beispiel.

Der Standard leitet den Benutzer zum fullPageAtForm, damit sie ein neues Kennwort erneut eingeben können.

Werfen Sie einen Blick auf die Useraccounts: Flow-Routing readme für weitere Details.

+0

Danke! Ich habe tatsächlich Route konfiguriert, aber es scheint, dass, was ich vermisste war defaultLayout und defaultContentRegion von der AccountTemplates.configure. – knirirr