无服务器框架Cognito Userpool预令牌生成器

时间:2019-02-05 08:43:59

标签: amazon-web-services aws-lambda serverless-framework serverless

我有一个PreTokenGenerator函数,它将一个附加声明添加到id令牌中。

在我的serverless.yml中,我具有以下定义。

functions:
  issueAuthToken:
    handler: src/handlers/cognitoPreToken.handler
    events:
      - cognitoUserPool:
        pool: ${self:provider.stage}-user-pool
        trigger: PreTokenGeneration

这会运行并部署,但是不会连接用户池中的用户池触发器(见下文)

enter image description here

如何设置此触发器?关于认知触发器,该文档似乎非常缺乏

2 个答案:

答案 0 :(得分:1)

Pre Token Generation当前在UserPool LambdaConfig中不可用,因此在not supported by CloudFormation中(无服务器框架使用)尚不可用。目前,只能通过控制台或AWS CLI对其进行配置。

答案 1 :(得分:0)

根据无服务器文档,应该通知属性existing: true,如果您不想创建新的Cognito用户池using-existing-pools

,这非常重要。

根据此论坛,此功能现在已由AWS CloudFormation AWS Forum

涵盖

这是Serverless实施的最新功能,因此请确保您安装了最新版本。

这是我的无服务器配置代码:

preTokenGenerator:
    name: ${self:service}-${self:provider.stage}-preTokenGenerator
    description: Lambda service to list blog articles
    role: LambdaRole
    handler: functions/general/blog.list
    events:
      - cognitoUserPool:
          pool: my-pool-name
          trigger: PreTokenGeneration
          existing: true

我从字面上复制了一个现有函数并更改了它的触发器。

cognito-lambda-function