meteor - 如何防止 Meteor 的帐户库自动发布当前用户的电子邮件?
问题描述
根据Meteor关于 Accounts 包的文档:
默认情况下,当前用户的用户名、电子邮件和个人资料会发布到客户端。
是否可以阻止 Meteor 自动发布这些字段?我知道这仅适用于已登录的用户,但该用户可以散步或在公共场所在线。
这种代码结构似乎是在accounts_server.js中定义的(搜索 autopublish 和 email - 第 37 和 696 行)。
解决方案
最直接的方法是修改Accounts._defaultPublishFields.projection
并删除 emails 键的值。在保持其他值的同时做到这一点的一种简单方法是使用 rest 和 spread 的组合,如下所示:
import { Accounts } from 'meteor/accounts-base';
const { emails, ...fields } = Accounts._defaultPublishFields.projection;
Accounts._defaultPublishFields.projection = { ...fields };
只要确保它在服务器上运行,你就可以开始了。
推荐阅读
- python - 从 python 安装路径中排除测试文件夹
- python - Pandas df 根据整数索引列表重新排序行和列
- mysql - 如何在mysql中找到每列的值数与主键的比率?
- angular - CSP 阻止来自 S3 的图像
- odoo - Odoo 用户和管理员在同一个组
- azure - 激活 RBAC 和 AAD 集成后,如何授予服务主体对 AKS API 的访问权限?
- spring - 异常:rg.springframework.cloud.gcp.data.datastore.core.mapping.DatastoreDataException:无法将类 PageRequest 转换为 Datastore
- elasticsearch - ElasticSearch 异常是什么意思:“所有分片失败”和“未找到 id 的搜索上下文”?
- python - 使用 Pandas 提取配置文件(看起来像 K/V 但不是)
- python - 如何比较两个列表中的项目并根据结果创建一个新列表?