使用FlowRouter与onResetPasswordLink,onEnrollmentLink和onEmailVerificationLink

问题描述:

我不情愿地执行,因为流星使用bcrypt存储加密的密码和我的Ubuntu实例上运行达夫科特/ Postfix的邮件系统采用SHA512我自己的用户帐户系统。 Debian/Ubuntu的人选择在他们的Linux发行版中不实现bcrypt,这需要这个相当痛苦的练习。这要求我在我自己的用户帐户hack中获取未加密的密码,以生成并保存一个SHA512版本,我随后使用该版本为我的成员提供电子邮件服务。使用FlowRouter与onResetPasswordLink,onEnrollmentLink和onEmailVerificationLink

我实施了@bgmaster和@stubailo提供的解决方案,但它似乎不适用于FlowRouter。正如@bgmaster指出的那样,他无法使用iron:router。在我的情况下,onEnrollmentLink回调永远不会被触发,因为FlowRouter在函数执行之前获得控制权。如果我放弃“注册帐户/令牌”路线,FlowRouter会抱怨没有路线。

在我翻出FlowRouter之前,有没有人能够使用核心Meteor帐户和FlowRouter来实现自己的用户帐户系统?更好的是,在标准账户工作流程中有没有办法获取未加密的密码?我更愿意使用内置的'accounts-ui'软件包甚至'useraccounts'。

谢谢!

Using onResetPasswordLink, onEnrollmentLink, and onEmailVerificationLink methods properly in Meteor

你必须推出自己的UI,然后使用Accounts.createUser()

我强烈建议你打电话Accounts.createUser()之前计算的客户端的SHA512哈希值,并通过哈希作为的一部分profile对象,以便它最终保存在帐户中。

的电子邮件验证链接不应该的问题,因为密码没有在这一点上拍摄的,但你还需要创建自己的密码重置UI

+0

谢谢,米歇尔。当我创建新用户时,建议使用配置文件对象。我为这种类型的附加信息使用了单独的“成员”文档,但这对所有密码都是有用的。这很有效,但是,正如你注意到的,我仍然需要处理密码重置操作,但目前还没有解决方案。我可以使用我自己的用户界面捕获密码并更新SHA密码,但流星似乎在on **** Link回调中的“完成”功能上存在问题。 –

+0

iirc验证链接的技巧_et al_ callbacks与路由器结合使用,将这些链接从'/#/ *'移动到与路由器的本地路由不冲突的特定路由。请参阅http://stackoverflow.com/a/33578408/2805154 –

+0

Michel在考虑了您的建议之后,意识到您正走在正确的道路上。我需要处理完整的用户界面,包括忘记/更改/重置操作。我不需要使用与****链接方法(我的问题)绑定的发送***电子邮件方法,而是需要将我自己的电子邮件发送给我在Meteor帐户包以外处理的链接。尝试在工作流中间步入并利用其他人完成的所有优秀工作总是很有吸引力,但看起来并不会奏效。再次感谢。 –