在Meteor中发送验证电子邮件,无需帐号密码

时间:2015-05-14 17:16:59

标签: meteor

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

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

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

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

2 个答案:

答案 0 :(得分:1)

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

答案 1 :(得分:0)

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