Amazon web services 由Serverless创建的AWS Cognito不';不要发送确认电子邮件
我正在进行无服务器身份验证,在发送确认电子邮件时遇到问题。 当我通过AWS控制台创建用户时,将创建该用户并发送带有确认代码的电子邮件。 但当我请求API时,用户是在Cognito中创建的,但不会发送电子邮件。 我的代码或请求可能有什么问题 这是serverless.yml中定义的Cognito资源:Amazon web services 由Serverless创建的AWS Cognito不';不要发送确认电子邮件,amazon-web-services,amazon-cognito,serverless-framework,aws-serverless,Amazon Web Services,Amazon Cognito,Serverless Framework,Aws Serverless,我正在进行无服务器身份验证,在发送确认电子邮件时遇到问题。 当我通过AWS控制台创建用户时,将创建该用户并发送带有确认代码的电子邮件。 但当我请求API时,用户是在Cognito中创建的,但不会发送电子邮件。 我的代码或请求可能有什么问题 这是serverless.yml中定义的Cognito资源: CognitoUserPool: Type: AWS::Cognito::UserPool Properties: UserPoolName: ${self:servic
CognitoUserPool:
Type: AWS::Cognito::UserPool
Properties:
UserPoolName: ${self:service}-${self:provider.stage}-user-pool
UsernameAttributes:
- email
AutoVerifiedAttributes:
- email
EmailConfiguration:
EmailSendingAccount: COGNITO_DEFAULT
这是我发送给API的请求:
POST / HTTP/1.1
Host: cognito-idp.eu-central-1.amazonaws.com
X-Amz-Target: AWSCognitoIdentityProviderService.SignUp
X-Amz-User-Agent: aws-amplify/0.1.x js amplify-authenticator
Content-Type: application/x-amz-json-1.1
Content-Length: ###
{
"ClientId": "####################",
"Username": "######@###.##",
"Password": "####################",
"ValidationData": null
}
我使用不同的框架(Amplify),但由于这两个框架都使用Cognito用户池,我想问题在于您缺少“域名” 在AWS控制台中,检查您的用户池,然后在(左面板)中找到“应用程序集成”,然后打开并设置“域名”
同样,我只是猜测(对不起,如果我的建议没有帮助的话),但我遇到了类似的问题。我通过使用自动确认用户创建
preSignUp
lambda触发器解决了问题:
const handler: PreSignUpTriggerHandler = async (event: PreSignUpTriggerEvent, context, callback) => {
event.response.autoConfirmUser = true;
callback(null, event);
};
文档
美国焊接学会:
无服务器:谢谢你的回答,Stefan,但这没有帮助。然而,我设法解决了这个问题。