我有一个带有用户池(用户名和密码)的移动应用。该应用程序使用aws-amplify sdk运行良好。但是,想要将代码移出到Lambdas。因此,我使用Boto3编写了以下Lambda。
这里是Lambda:
import boto3
def lambda_handler(event, context):
client = boto3.client('cognito-idp')
response = client.initiate_auth(
ClientId='xxxxxxxxxxxxxx',
AuthFlow='USER_PASSWORD_AUTH',
AuthParameters={
'USERNAME': 'xxxxxx',
'PASSWORD': 'xxxxxx'
}
)
return response
我也尝试使用admin_initiate_auth。
import boto3
def lambda_handler(event, context):
client = boto3.client('cognito-idp')
response = client.initiate_auth(
UserPoolId='xxxxxxxxx',
ClientId='xxxxxxxxxxxxxx',
AuthFlow='USER_PASSWORD_AUTH',
AuthParameters={
'USERNAME': 'xxxxxx',
'PASSWORD': 'xxxxxx'
}
)
return response
这是我得到的错误信息:
在调用InitiateAuth操作时发生错误(InvalidParameterException): 用户密码验证流程没有为此客户端启用: InvalidParameterException 溯源 (最近的一次调用):
文件“/var/task/lambda_function.py”,第12行,在lambda_handler中 'PASSWORD': 'xxxxx' 文件“/var/runtime/botocore/client.py”,第317行,_api_call函数 return self._make_api_call(operation_name, kwargs) 文件“/var/runtime/botocore/client.py”,第615行,_make_api_call函数 raise error_class(parsed_response, operation_name) InvalidParameterException: 在调用InitiateAuth操作时发生错误(InvalidParameterException): 用户密码验证流程没有为此客户端启用
有什么想法吗?
enabledAuthFlows: [AuthFlow.USER_PASSWORD]
。 - Townsheriff