流星应用程序重置密码
我在应用程序中使用流星帐户和帐户密码,并希望用户能够重置其密码。目前没有必要对任何形式的任何定制,所以我使用{{> atForm }}
一个共同的布局和/lib/config.js
包含以下配置文件:流星应用程序重置密码
AccountsTemplates.configure({
showForgotPasswordLink: true,
enablePasswordChange: true,
sendVerificationEmail: true,
enforceEmailVerification: true,
confirmPassword: true,
showResendVerificationEmailLink: true,
continuousValidation: true,
privacyUrl: 'privacy',
});
点击“重置密码”链接产生网址如下所示:
http://localhost:3000/#/reset-password/hMny_A8tdOpNubxtk8mC3BE0vYSJm35K80B2hwwV1CR
然而,这些都是他们重定向到URL根为应用程序,同时明显改变密码完全无用的;用户因此在点击其中一个链接后无法登录。单击一个后,用户帐户如下所示:
{ "_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 } ] }
其他所有工作(例如使用确认电子邮件注册)。我正在使用Blaze模板和流量路由器,包括useraccounts:流程路由。
我似乎失去了一些东西,并希望它如果有人能够指出我在正确的方向得到这个工作。
根据你的解释,我认为你错过了一些关键的事情来得到这个工作。
首先,记住useraccounts:流量路由不提供路由开箱。
没有默认提供的路线,但你可以使用AccountsTemplates.configureRoute
鉴于轻松地配置路线标志,注册,忘记密码,重置密码,修改密码,帐号注册info,您至少需要配置重置密码的默认路由。
最简单的方法是让呼叫仅通过一个路由代码(可用的路由代码是:signIn,signUp,changePwd,forgotPwd,resetPwd,enrollAccount)。
下面是一个例子。
AccountsTemplates.configureRoute('resetPwd');
默认会将用户路由到fullPageAtForm,以便他们可以重新输入新密码。
查看useraccounts:flow-routing readme了解更多详情。
谢谢!事实上我确实有他配置的路线,但似乎我缺少的是来自AccountTemplates.configure的defaultLayout和defaultContentRegion。 – knirirr
你是否也在使用kadira:blaze-layout呢? useraccounts:流路由取决于它。 – jordanwillis
我的确在使用它。 – knirirr