小编CMo*_*udy的帖子

如何配置无服务器 Cognito Lambda 触发器

使用无服务器框架创建 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

6
推荐指数
1
解决办法
6548
查看次数