出于兼容性原因,我目前无法使用Meteor的所有帐户功能。我的系统非常简单,但我在服务器上公开了一个执行必要身份验证工作的“身份验证”方法,然后,如果成功,则通过Meteor.userId()
设置this.setUserId
的值。唯一的问题是,当我在服务器上调用this.setUserId
时,它似乎不会传播回客户端。 Meter.userId()
继续在客户端上返回null,但在服务器上返回正确的值。由于this.setUserId
是一个仅限服务器的函数,因此在“authenticate”方法返回后如何在客户端上设置正确的用户ID时我感到很遗憾。想法?
答案 0 :(得分:3)
您需要做的不仅仅是设置userId
以验证用户身份。查看这些示例以了解如何进行自定义身份验证:
第二个是我的榜样。我强烈建议建立基础accounts
包提供的功能,而不是滚动所有自己的操作。
编辑:根据OP的回复,人们可能会对进行与验证无关的其他操作感兴趣;请参阅以下内容:
答案 1 :(得分:1)
尽管Meteor文档将“this.setUserId()”列为仅服务器,但它当前也在客户端上工作,这就是我最终解决此问题的方法。< / p>