Jun*_*rat 0 amazon-web-services python-3.x amazon-cognito aws-lambda amazon-cognito-triggers
我已经在 中创建了一个用户池Cognito。
我想做的是,当新用户尝试使用 UI 注册时,他会收到验证码。用户输入代码后,Post confirmation必须触发 lambda,并且必须将这个新创建的用户直接添加到名为 的组中users。
我找到了admin_add_user_to_group客户端并编写了以下代码并将其部署为 lambda:
import boto3
import hmac
import hashlib
import base64
USER_POOL_ID = ''
CLIENT_ID = ''
CLIENT_SECRET = ''
def lambda_handler(event, context):
client = boto3.client('cognito-idp')
try:
username = event['username']
response = client.admin_add_user_to_group(
UserPoolId=USER_POOL_ID,
Username=username,
GroupName='users'
)
except client.exceptions.InvalidParameterException:
return {"error": True, "success": False, "message": "Username doesnt exists"}
except client.exceptions.ResourceNotFoundException:
return {"error": True, "success": False, "message": "Invalid Verification code"}
except client.exceptions.NotAuthorizedException:
return {"error": True, "success": False, "message": "User is already confirmed"}
except Exception as e:
return {"error": True, "success": False, "message": f"Unknown error {e.__str__()} "}
return event
Run Code Online (Sandbox Code Playgroud)
部署代码后,我将其连接到Post confirmation触发器。现在,当用户尝试注册时,系统会发送一个代码。但是,当我粘贴代码来确认用户时,会发生两件事:
users组中。它显示以下错误:
我犯了什么错误?
| 归档时间: |
|
| 查看次数: |
1210 次 |
| 最近记录: |