限制来自accounts-facebook的出版物

时间:2014-07-11 20:18:45

标签: meteor

我使用" accounts-facebook"在我的流星应用程序中设置facebook登录包。问题是,它似乎发布了它自己的数据以及我不想要的很多数据,因为它包含诸如人物Facebook页面的URL和它们的真实姓名之类的信息。有没有办法可以控制Facebook的详细信息发布?

2 个答案:

答案 0 :(得分:0)

您可以控制发布的用户数据(http://docs.meteor.com/#meteor_users)。确保你meteor remove autopublish。如果帐户包在默认情况下发布的用户profile中放置的内容超出了您的要求,则可以使用Accounts.onCreateUser自定义放入新用户文档的内容。

答案 1 :(得分:0)

如果您制作了修改后的出版物

,就会发生这种情况

例如,您在代码中添加了此(或其变体)

Meteor.publish("userdata", function() {
    return Meteor.users.find();
});

默认情况下,Meteor发布的用户信息不包含servicesemails或其他非profile属性等敏感信息。

您可以通过发布(或不发布所需的字段)来控制用户看到的数据。

Meteor.publish("userdata", function() {
    return Meteor.users.find({_id: this.userId}, {fields: {'profile.name' : true} });
});

以上内容将在name对象上发布profile属性。您可以将其更改为其他内容。如果您想要隐藏整个用户profile,可以添加_id: true,以便它根本不会发布任何内容(除了用户的_id,无论如何都会发布)