如果注册过程中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
您尝试测试 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