在外部注册期间通过提供默认电话号码(如果不存在)在 congito 中创建用户

问题描述 投票:0回答:1

如果注册过程中phone_number不存在,如何将电话号码更新为默认值。 我们的认知不能让phone_number为空,所以它需要有默认值。

以下代码是在预注册Lambda触发器

中编写的

在外部 Azure 提供商期间注册时,以下代码似乎不起作用

def lambda_handler(event, context):
    print("Pre Signup Congito")

    if event['triggerSource'] == "PreSignUp_ExternalProvider":
        request = event['request']
        user_attributes = request['userAttributes']

        # If no phone number initialize with default number
        if not user_attributes['phone_number']:
            user_attributes['phone_number'] = '+1888888888'
            user_attributes['phone_number_verified'] = 'false'

        request['userAttributes'] = user_attributes
        event['request'] = request

    # Return to Amazon Cognito
    return event
python amazon-web-services amazon-cognito
1个回答
0
投票

您尝试测试 phone_number 键是否存在的方式有缺陷。

这样做:

def lambda_handler(event, _):
    try:
        if event["triggerSource"] == "PreSignUp_ExternalProvider":
            user_attributes = event["request"]["userAttributes"]
            if user_attributes.get("phone_number") is None:
                user_attributes["phone_number"] = "+1888888888"
                user_attributes["phone_number_verified"] = "false"
    except KeyError:
        pass

    return event
© www.soinside.com 2019 - 2024. All rights reserved.