出于兼容性原因,我目前无法使用 Meteor 的所有帐户功能。不过,我的系统非常简单,我在服务器上公开了一个“身份验证”方法,该方法执行必要的身份验证工作,然后如果成功,则设置Meteor.userId()
via的值this.setUserId
。唯一的问题是,当我this.setUserId
在服务器上调用时,它似乎没有传播回客户端。Meter.userId()
继续在客户端返回 null,但在服务器上返回正确的值。由于this.setUserId
是仅服务器功能,因此在“身份验证”方法返回后,我不知道如何在客户端上设置正确的用户 ID。想法?
问问题
506 次
2 回答
3
userId
为了对用户进行身份验证,您需要做的不仅仅是设置。查看这些示例以了解如何进行自定义身份验证:
- https://github.com/tmeasday/meteor-accounts-anonymous(为每个浏览器会话创建一个用户)
- https://github.com/mizzao/meteor-accounts-testing(创建没有密码的用户)
第二个是我的例子。我强烈建议构建基本accounts
包提供的功能,而不是滚动您自己的所有操作。
编辑:根据 OP 的响应,人们可能有兴趣进行另一种与身份验证无关的操作;请参阅以下内容:
于 2013-06-26T04:17:39.580 回答
2
尽管 Meteor 文档将“this.setUserId()”列为仅服务器,但它目前也可以在客户端上运行,所以我最终解决了这个问题。
于 2013-10-29T05:18:58.970 回答