使用无服务器框架创建 Cognito 用户池以及用于 TOPT SMS 授权期间的 cognito 事件的多个 lambda。一切都已创建,但 lambda 函数未在 Cognito 中注册。
对于无服务器来说相对较新,但似乎无法让它们连接起来。已尝试池名称,正如其他人尝试将其标记为在创建结束时已存在一样,池已存在且 lambda 也已存在,但没有连接。
目前,在另一篇文章之后尝试将用户池更改为 CognitoUserPoolMyUserPool,然后在 lambda 中将其引用为 MyUserPool。还在这两个位置尝试了 CognitoUserPool,但都不起作用。
serverless.yaml 文件示例:
service: cognito-authentication
frameworkVersion: ">=1.1.0 <2.0.0"
package:
individually: false
plugins:
- serverless-bundle
custom:
stage: ${opt:stage, self:provider.stage}
poolName: ${self:custom.stage}-user-pool
provider:
name: aws
runtime: nodejs10.x
stage: dev
iamRoleStatements:
- Effect: Allow
Action:
- sns:*
Resource:
- "*"
functions:
preSignUp:
handler: functions/pre-signup.main
events:
- cognitoUserPool:
pool: MyUserPool
trigger: PreSignUp
defineAuthChallenge:
handler: functions/define-auth-challenge.main
events:
- cognitoUserPool:
pool: MyUserPool
trigger: DefineAuthChallenge
createAuthChallenge: …Run Code Online (Sandbox Code Playgroud) eventtrigger amazon-web-services amazon-cognito aws-lambda serverless-framework