如何在流星应用程序中重置密码

时间:2015-05-29 21:18:18

标签: meteor passwords reset accounts

我正在构建一个Meteor应用程序并使用oaf:accounts-entry包来处理我的用户注册和认证。我正在研究重置密码功能。但是,当我点击“电子邮件重置密码链接”时,应用程序不会向我发送任何电子邮件。有人可以帮助我或指导我如何为oaf:accounts-entry包配置重置密码功能吗?在进行谷歌搜索后,我找不到有关如何配置它的说明。我安装的相关软件包是:

  • oaf:accounts-entry
  • accounts-password
  • email

谢谢!

2 个答案:

答案 0 :(得分:0)

密码重置功能应该像软件包一样提供。

您是否正确配置了电子邮件smtp设置并测试了您的应用是否正确发送了电子邮件?

https://gentlenode.com/journal/meteor-3-smtp-configuration/5

答案 1 :(得分:0)

  

注意:使用Meteor JS 1.6.1.1,所需的软件包为 accounts-ui,accounts-password

要在窗口小部件的注册/签名中显示忘记密码链接,您需要在位置ROOT_FOLDER/client/main.js的文件中添加少量配置。代码如下,

Accounts.ui.config({
    passwordSignupFields: "USERNAME_AND_EMAIL"
});

如果您未选择passwordSignupFields: "USERNAME_AND_EMAIL"并选择passwordSignupFields: "USERNAME_ONLY"之类的内容,则无法在注册小部件中看到忘记密码选项。 (没有人会告诉你这个,我自己发现了这个奇怪的场景。不过,我想知道为什么MDG团队会这样做?)

在服务器端,您还需要在PROJECT/server/main.js之外的位置Meteor.startup(()=>{});添加一些代码,以提供重置密码链接的电子邮件模板。以下是您自己调整某些属性所需的代码。

var username = 'you_id@gmail.com'; 
var password = 'your password';
var server = 'smtp.gmail.com';
var port = '465';

process.env.MAIL_URL = 'smtps://' +
encodeURIComponent(username) + ':' +
encodeURIComponent(password) + '@' +
encodeURIComponent(server) + ':' + port;

process.env.NODE_TLS_REJECT_UNAUTHORIZED = 0;

Accounts.emailTemplates.from = 'support_team@yourappname.com';


Accounts.emailTemplates.siteName = 'APP NAME';

Accounts.emailTemplates.resetPassword = {
  subject(user) {
    return "Reset Password Link.";
  },
  text(user, url) {
    return `Hello! 

    Click the link below to reset your password.

    ${url}

    If you didn't request this email, please ignore it.

Thanks,
APP Team.
`
  },
  html(user, url) {
    // This is where HTML email content would go.
    // See the section about html emails below.
  }
};

第1步:

看看您是否能够在注册小部件上查看忘记密码,如下所示。

enter image description here

第2步:

当您点击" 忘记密码"时,您应该能够在以下相同的小部件位置查看以下弹出窗口。

enter image description here

在有效的电子邮件条目中,您必须看到成功完整通知,最重要的是您必须收到重置密码链接的邮件,如下所示。

enter image description here

第3步:

当您点击该链接时,您可以看到一个带有弹出窗口的新窗口,如下所示(注意:您必须在给定令牌到期时间之前单击该链接。)

enter image description here

瞧!!!只需添加新密码即可自动登录到指定页面。如上所述,Meteor已经向我们提供了所有内容。你只需要配置这些东西并让它运行。