5

我正在尝试使用 AWS-CLI 在 cognito 上为 Auth Challenge 设置 lambda 触发器,其中涉及 DefinAuthChallenge、CreateAuthChallenge、VerifyAuthChallenge 等。

aws cognito-idp update-user-pool     --user-pool-id <>    --lambda-config DefineAuthChallenge=<lambda-function-arn>:<function_name>:<function_alias>  --lambda-config CreateAuthChallenge=<lambda-function-arn>:<function_name>:<function_alias> --lambda-config VerifyAuthChallengeResponse=<lambda-function-arn>:<function_name>:<function_alias>

在我运行这个之后,只剩下最后一个 lambda 触发器配置和 DefineAuthChallenge,CreateAuthChallenge 配置丢失。

请帮助我了解如何使用 CLI 在 Cognito 上配置 lambda 触发器。我无法通过 UI 执行此操作,因为函数别名不会出现在 UI 上。因此,AWS-CLI 是我唯一的选择。

4

3 回答 3

4

参考资料中所述,请使用逗号连接多个触发选项

aws cognito-idp update-user-pool --user-pool-id <> --lambda-config DefineAuthChallenge=<lambda-function-arn>:<function_name>:<function_alias>,CreateAuthChallenge=<lambda-function-arn>:<function_name>:<function_alias>,VerifyAuthChallengeResponse=<lambda-function-arn>:<function_name>:<function_alias>
于 2020-03-06T15:02:52.443 回答
2

我无法让@alessio 回答工作。一次设置一个是可行的,但它会擦除所有其他设置。

在这里,我们只是用逗号分隔我的两个触发器

aws cognito-idp update-user-pool --user-pool-id <pool-id> --lambda-config PreSignUp=arn:aws:lambda:us-east-1:<mynumbers>:function:registerStudent:prod, PreAuthentication=arn:aws:lambda:us-east-1:<mynumbers>:function:validateStudent:prod

我还用双引号将 arn 字符串包裹在相同的响应中。

这里我们使用 JSON

aws cognito-idp update-user-pool --user-pool-id <pool-id> --lambda-config {"PreSignUp":"arn:aws:lambda:us-e
ast- 1:<mynumbers>:function:registerStudent:prod", "PreAuthentication":"arn:aws:lambda:us-east-1:<mynumbers>:function
:validateStudent:prod"}

对于这两种尝试,响应几乎相同:

Unknown options: PreAuthentication:arn:aws:lambda:us-east-1:<mynumbers>:function:validateStudent:prod

唯一的区别是逗号分隔的等号与 JSON 的冒号。

有没有人能够让它与两个触发器一起工作?

-安德鲁

于 2020-09-02T16:59:58.547 回答
1

像这样做:

aws cognito-idp update-user-pool
  --user-pool-id <pool-id>
  --lambda-config
    DefineAuthChallenge=<lambda-function-arn>:<function_name>:<function_alias>,
    CreateAuthChallenge=<lambda-function-arn>:<function_name>:<function_alias>,
    VerifyAuthChallengeResponse=<lambda-function-arn>:<function_name>:<function_alias>
于 2021-05-13T19:48:35.897 回答