【问题标题】:Meteor accounts invite new usersMeteor 帐户邀请新用户
【发布时间】:2015-05-15 21:21:57
【问题描述】:

我的网站配置为使用电子邮件/密码(无用户名)登录。

我的登录、忘记密码和密码重置页面按预期工作,主要基于 this guide大量 的探索。我有点茫然寻找更全面或“高级”的指南来控制用户帐户行为。

目前,注册用户只需输入他们的电子邮件地址即可“邀请”其他用户。此人收到一封将他们带到登录屏幕的电子邮件,但由于尚未设置密码,此人必须

  1. 点击忘记密码链接
  2. 输入他们的电子邮件
  3. 点击重置电子邮件中的链接并设置密码。

我正在尝试弄清楚如何获得初始邀请电子邮件以使该人登陆“设置密码”页面。

非常感谢您提供相关材料的链接!我有一种感觉,我可能只是在寻找错误的东西。

【问题讨论】:

  • 为什么不把他们带到注册页面?
  • @AlexPan 他们已经注册,因此无需注册。为了便于使用,我希望他们有一个令牌,允许他们设置密码而无需再次输入他们的电子邮件地址,就像重置密码功能一样。

标签: meteor accounts


【解决方案1】:

我自己还没有做过,但作为一个想法(需要 Iron-Router ($ meteor add iron:router)):

1) 向受邀用户发送链接,链接中的查询与该用户的电子邮件 (q=email@address.com) 相同。
2) 使用 Iron Router 获取该查询(this.params.query 可能使用onBeforeAction method)。
3) 将查询放入会话中。
4) 在 Template.myTemplate.helpers() 中创建一个将显示会话的新助手。
5) 在你的模板里面:<input type="text" name="user_email_from_session" value="{{helper}}">

希望我的方法不是太新手,但即使是这样,也许它会对你起到反启发作用:)

【讨论】:

  • 这至少可能是正确的方向。我当然不想在参数字符串中使用电子邮件地址 - 密码重置当前使用生成的密钥。这可以防止人们“入侵”系统。
【解决方案2】:

Meteor 将“邀请”电子邮件称为“注册”电子邮件。

1) 在服务器上创建一个新用户(不需要设置密码)。

2) 在服务器上调用Accounts.sendEnrollmentEmail(userId)

3) 用户收到一封电子邮件,其中包含设置初始密码的链接。

文档:http://docs.meteor.com/api/passwords.html#Accounts-sendEnrollmentEmail

【讨论】:

    猜你喜欢
    • 2018-03-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多