要防止AWS Cognito收集电话号码,您可以通过自定义Cognito表单进行限制。您可以使用AWS Lambda触发器在用户注册或更新属性时拦截电话号码的收集。以下是一个示例解决方案:
exports.handler = async (event, context) => {
// 检查用户属性是否包含电话号码
if (event.request.userAttributes.hasOwnProperty("phone_number")) {
// 删除电话号码属性
delete event.request.userAttributes.phone_number;
}
// 返回修改后的用户属性
return event;
};
打开AWS管理控制台,导航到Cognito User Pool。
在左侧导航菜单中,选择“触发器”。
在“创建触发器”下,选择“预注册”和“自定义消息”。
在“自定义消息”中,选择“自定义属性验证”。
在“自定义属性验证”中,选择您之前创建的Lambda函数。
保存更改并测试注册流程,您将看到电话号码不再被收集。
请注意,此解决方案适用于注册流程。如果您想防止用户在更新属性时收集电话号码,可以在“触发器”选项卡中选择“自定义验证”并使用相同的Lambda函数。
此解决方案将拦截Cognito用户属性中的电话号码,并在返回属性之前将其删除。