AWS Cognito池触发器

时间:2018-12-14 00:09:54

标签: amazon-web-services aws-lambda amazon-cognito

在将触发器保存到认知池中时,我面临一个奇怪的问题

我有一个使用cognito池进行身份验证的角度UI,该池调用在PRE令牌生成器下配置的lambda。 我正在使用AWS CLI创建池。下面使用的命令。

 aws cognito-idp  create-user-pool --pool-name "${CLIENT}-app" --admin-create-user-config AllowAdminCreateUserOnly=true --policies "$PASSWORD_POLICY" --email-verification-subject "$EMAIL_VERIFICATION_SUBJECT" --auto-verified-attributes email --lambda-config PreTokenGeneration="$PRE_TOKEN_LAMBDA_REF" --schema "$CUSOM_ATTR_VALUES"

我看到触发器已正确创建。我在aws控制台(UI)中进行了验证,并使用aws列表池查询了池。两种情况都在Pre令牌生成器中正确引用了lambda。

但是在访问池时使用Angular UI,我遇到了“访问被拒绝”异常。 我可以通过手动访问池来解决问题,只需在“触发器”下按“保存更改”即可。我没有更新池中的任何信息。完成此步骤后,UI即可正常工作。

请提供您的建议。

问候 维吉

1 个答案:

答案 0 :(得分:0)

就在今天我自己与之战斗,并在这里找到解决方案:

https://docs.aws.amazon.com/lambda/latest/dg/API_AddPermission.html

即通过API进行配置时,您必须显式授予用户池执行触发器lambda的权限。通过控制台进行配置时,这是隐式发生的,这就是为什么您看到“保存更改”的奇怪行为。