如何在 CloudFormation 模板中设置 AWS Cognito 用户密码进行测试

Pau*_*l S 7 amazon-web-services aws-cloudformation amazon-cognito

我正在使用 CloudFormation 模板创建Cognito 用户池测试用户。我这样做是为了自动测试登录、用户管理代码和令牌代码。

但是,似乎没有办法将密码设置为某个已知值,以便测试代码可以继续登录,这将是测试其他所有内容的第一步。

相关问题,但答案是“检查您的电子邮件帐户”,这不适用于自动化测试: Cloud Formation AWS::Cognito::UserPoolUser 临时密码\

我可以使用 API 以管理方式设置密码(至少 CLI 可以),但我希望我的测试代码尽可能是黑盒。我想在 Cloud Formation 模板中指定所有先决条件,就像我为我正在测试的所有其他东西所做的那样。

这个AWS 论坛回答说“使用自定义资源”,但没有提供有关如何操作的帮助:

Eri*_*son 0

您可能会发现使用cdk-userpool-user适合您的目的。它相当干净地使用自定义资源进行打包。

new UserPoolUser(this, 'Test', {
    userPool,
    username: 'testuser',
    password: 'Passw0$rd',
});
Run Code Online (Sandbox Code Playgroud)