首页 文章

在没有帐户密码的Meteor中发送验证电子邮件

提问于
浏览
1

在我的Meteor网站上,用户可以使用来自特定提供商(vKontakte)的OAuth身份验证登录 . 登录后,在我的网站的特殊页面上,用户还可以指定他们的电子邮件地址以接收通知 . 显然,我想在发送任何通知之前验证地址 .

我在Meteor文档和其他网站中找到的电子邮件验证的标准说明使用 accounts-password 包 . 没关系,我可以从我的电子邮件更新代码中调用 sendVerificationEmail() ,但问题是 accounts-password 还增加了本地(非OAuth)注册的可能性 . 我的网站与OAuth提供商紧密相连,所以除了通过这个OAuth提供商之外,我不希望有任何其他方式登录我的网站,所以我不希望在我的网站上有 accounts-password 包 . 或者至少我希望 accounts-password 从用户的角度来看没有效果,除了发送验证电子邮件的可能性(没有注册按钮等)

有没有办法在没有 accounts-password 包的情况下发送验证电子邮件?或者禁用除电子邮件验证之外的所有 accounts-password 功能?

当然,我可以完全手动实现电子邮件验证(生成令牌,发送电子邮件,设置验证路线),但如果有更多标准方法可以做到这一点,我最好坚持下去 .

2 回答

  • 0

    我终于通过将 accounts-password.js 文件复制到 server/lib 并删除了我不需要的所有代码来解决这个问题 . 我不喜欢这个解决方案,因为如果 accounts-password 将被更新,我将不得不手动更新我的文件,但我认为没有其他方法可以做到这一点 .

  • 1

    我不确定你所描述的所有内容都是必需的 . 当然,代码将存在于服务器上,但是如果你要添加 accounts-password 并调用 sendVerificationEmail() ,那么实际上没有什么可以说你必须拥有它允许的注册和密码功能 . 您是否使用帐户-ui-unstyled来处理帐户的前端部分?如果是这样,您就不能让用户能够查看或使用您不希望他们拥有的功能 .

相关问题