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

如何处理Cognito谷歌身份提供商缺失必填属性的问题

如何处理Cognito谷歌身份提供商缺失必填属性的问题

我之前也踩过一模一样的坑,咱们完全可以通过Cognito自带的用户属性补充流程来解决,不用被迫修改必填属性的设置,具体可以分这几步来操作:

1. 配置Cognito属性补充基础规则

首先得让Cognito知道,当用户缺失必填属性时,要跳转到咱们自己做的页面去收集信息:

  • 如果用AWS控制台操作:进入你的Cognito用户池,找到「应用集成」→「应用客户端设置」,在「属性补充」板块勾选「允许用户补充缺失的属性」,然后填上你准备用来收集属性的页面URL(比如https://你的域名.com/auth/complete-profile)。
  • 如果用CloudFormation的话,要在用户池客户端的配置里,把这个补充页面的URL加到CallbackURLs里,同时确保用户池的属性Schema里,必填的family_name等属性是可修改的(Mutable: true)。给你补一段关键的CloudFormation代码参考:
UserPool:
  Type: "AWS::Cognito::UserPool"
  Properties:
    UserPoolName: !Sub ${EnvironmentName}-***-user-pool
    Schema:
      - Name: email
        Required: true
        Mutable: true
      - Name: given_name
        Required: true
        Mutable: true
      - Name: family_name
        Required: true
        Mutable: true
    # 其他原有配置...

UserPoolClient:
  Type: "AWS::Cognito::UserPoolClient"
  Properties:
    UserPoolId: !Ref UserPool
    ClientName: !Sub ${EnvironmentName}-***-user-pool-client
    CallbackURLs:
      - "https://你的域名.com/auth/callback/cognito"
      - "https://你的域名.com/auth/complete-profile" # 新增属性补充页面URL
    AllowedOAuthFlows:
      - code # 对应你的OAuth授权流程,比如code流
    AllowedOAuthScopes:
      - email
      - openid
      - profile
    AllowedOAuthFlowsUserPoolClient: true
    # 其他原有配置...

2. 开发属性补充页面

接下来要做一个简单的前端页面,用来收集用户缺失的属性:

  • 当Cognito发现用户缺失属性时,会自动把用户重定向到你刚才配置的页面,同时URL里会带error=invalid_request、error_description=attributes required: [family_name]以及session参数(这个是Cognito的临时会话标识,非常重要)。
  • 你的页面要先解析这些参数,把缺失的属性列出来(比如从error_description里提取family_name),然后显示一个表单让用户输入对应的内容。
  • 用户填完之后,调用Cognito的UpdateUserAttributes API(或者用Amplify这类SDK的对应方法),传入session参数和用户补充的属性值。
  • 调用成功后,Cognito会自动完成用户的注册流程,然后把用户重定向回你原来的回调URL,正常完成登录。

3. 可选:用Lambda触发器做自定义校验

如果需要对用户补充的属性做额外验证(比如检查格式、长度),可以给用户池加一个PreSignUp或者PreTokenGeneration Lambda触发器,在属性提交后、正式完成注册前做校验,不符合要求的话可以返回错误提示用户重新输入。

这样设置好之后,再遇到谷歌账号缺失必填属性的用户,就不会直接报错了,而是引导用户补充完信息再完成登录,完全符合你想要的流程。

备注:内容来源于stack exchange,提问作者Zog

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.04.15 13:23:03