如何防止 Meteor 的帐户库自动发布当前用户的电子邮件?
How to prevent Meteor's accounts-base from auto-publishing the email of the current user?
根据帐户包上的 Meteor's documentation:
By default, the current user’s username, emails and profile are published to the client.
是否可以阻止 Meteor 自动发布这些字段?我知道它仅适用于已登录的用户,但该用户可以在某处散步或上网 public。
此代码结构似乎在 accounts_server.js 中定义(搜索自动发布和电子邮件 - 第 37 和 696 行)。
最直接的方法是修改 Accounts._defaultPublishFields.projection
的值并删除 emails 键。在保持其他值的同时执行此操作的一种简单方法是使用 rest 和 spread 的组合,如下所示:
import { Accounts } from 'meteor/accounts-base';
const { emails, ...fields } = Accounts._defaultPublishFields.projection;
Accounts._defaultPublishFields.projection = { ...fields };
只要确保它在服务器上运行就可以了。
根据帐户包上的 Meteor's documentation:
By default, the current user’s username, emails and profile are published to the client.
是否可以阻止 Meteor 自动发布这些字段?我知道它仅适用于已登录的用户,但该用户可以在某处散步或上网 public。
此代码结构似乎在 accounts_server.js 中定义(搜索自动发布和电子邮件 - 第 37 和 696 行)。
最直接的方法是修改 Accounts._defaultPublishFields.projection
的值并删除 emails 键。在保持其他值的同时执行此操作的一种简单方法是使用 rest 和 spread 的组合,如下所示:
import { Accounts } from 'meteor/accounts-base';
const { emails, ...fields } = Accounts._defaultPublishFields.projection;
Accounts._defaultPublishFields.projection = { ...fields };
只要确保它在服务器上运行就可以了。