2014-07-11 61 views
0

我已經使用「accounts-facebook」軟件包在我的流星應用中設置了Facebook登錄。問題是它似乎發佈了它自己的數據,並且我不想這麼做,因爲它包含諸如個人臉書頁面的URL和他們的真實姓名之類的信息。有沒有一種方法可以控制Facebook的詳細信息發佈?限制帳戶的出版物-Facebook

回答

0

您可以控制發佈哪些用戶數據(http://docs.meteor.com/#meteor_users)。確保你meteor remove autopublish。如果某個帳戶包在默認情況下發布的用戶profile中輸入的內容超出了預期,則可以使用Accounts.onCreateUser來自定義在新用戶文檔中放入的內容。

+0

我會接受這一點,但它似乎奇怪的是,只有這樣,才能存儲此信息,所以它不可用於所有客戶端是使用Accounts.onCreate用戶將數據移動到其他地方。 – ciwolsey

0

,如果你已經做出了修改發佈

會發生這種情況如您在代碼中添加了這個(或它的變化)的地方

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

默認流星發佈不敏感的用戶信息信息,如services,emails或其他非profile的屬性。

您可以通過發佈控制用戶看到的數據(或不發佈您想要的字段)。

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

上面將發佈profile對象上的name屬性。你可以把它改成別的東西。如果你想隱藏profile您可以添加_id: true整個用戶,因此不會發布的所有東西(除了這是無論如何公佈用戶的_id