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

如何修复AWS Cognito集成Google OAuth2.0时的“Required Attributes birthday”错误?

解决AWS Amplify React Native OAuth2.0集成报错:attributes+required%3A+%5Bbirthdate%5D

错误核心原因

该错误说明你的AWS Cognito用户池将birthdate设为必填属性,但OAuth流程中Google未返回该属性值,导致Cognito无法完成用户信息同步。

分步解决方案

1. 调整Cognito用户池属性必填设置

  • 登录AWS控制台,进入目标Cognito用户池
  • 切换到属性标签页,找到birthdate属性
  • 如果业务不需要强制收集生日,直接取消该属性的必填标记;如果必须保留必填,继续后续步骤

2. 验证Google授权与用户隐私配置

  • 确认Google API同意屏幕已正确添加https://www.googleapis.com/auth/user.birthday.read权限(对应你的截图检查权限列表)
  • 提醒测试用户检查Google账号的生日隐私设置:只有设为公开可见的生日,Google才会通过API返回该信息;私密生日无法被获取

3. 修正Cognito属性映射规则

  • 进入Cognito用户池的联邦身份认证 -> 身份提供商 -> 选择Google
  • 检查birthdate的映射字段:
    • Google通过profile范围返回的生日字段是birthday(格式为MM/DD/YYYY)
    • 通过user.birthday.read范围返回的是birthdays数组(含详细生日结构)
    • 确保Cognito的birthdate属性映射到正确的Google字段,避免因字段不匹配导致无法提取值

4. 调试验证Google返回数据

在React Native项目中开启Amplify调试日志,确认Google实际返回的用户信息:

Amplify.Logger.LOG_LEVEL = 'DEBUG';

运行项目后查看控制台日志,定位Google OAuth响应的用户数据,确认是否包含birthday或birthdays字段。若未返回,说明Google未授权或无法获取该信息,需调整权限或用户隐私设置。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.30 03:52:15