You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

AWS Amplify联合登录Facebook不返回用户邮箱问题求助

问题原因
  • Cognito用户池绑定的Facebook身份提供商默认仅配置了public_profile授权范围,未显式申请email权限,Facebook平台不会主动返回用户邮箱字段。
  • 部分测试场景下,Facebook账号未绑定公开邮箱、或用户授权时手动拒绝了邮箱访问权限,也会导致返回数据无邮箱。
解决方案
  1. 配置Cognito身份提供商授权范围
    进入AWS Cognito控制台,打开对应用户池,进入「身份提供商」页签,选择已配置的Facebook提供商,在「授权范围」输入框中追加email字段后保存配置。
  2. 检查Facebook应用权限
    登录Meta开发者后台,打开对接使用的Facebook应用,进入「应用审查」→「权限和功能」页,确认email权限已启用,开发模式下无需公开发布审核即可给测试账号使用。
  3. 确认属性映射配置
    回到Cognito Facebook身份提供商的「属性映射」配置页,确认Facebook侧email属性已映射到Cognito用户池的email属性,你当前的配置截图已满足该要求,无需修改。
  4. 测试验证
    清除浏览器Cognito会话缓存后重新触发Facebook登录,授权弹窗会明确提示需要获取用户邮箱权限,同意授权后即可在Pre sign-up Lambda事件中获取到email字段。

注意:如果测试用Facebook账号仅绑定手机号未设置邮箱,或用户授权时手动拒绝邮箱访问,仍会出现邮箱为空的情况,需要在业务代码中补充兼容逻辑,引导用户手动填写邮箱。

内容的提问来源于stack exchange,提问作者Geeshan

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.06 14:09:03