Безсерверный фреймворк Cognito Userpool Pre Token Generator
У меня есть функция PreTokenGenerator, которая добавляет дополнительную претензию к токену id.
В моем serverless.yml у меня есть следующее определение.
functions:
issueAuthToken:
handler: src/handlers/cognitoPreToken.handler
events:
- cognitoUserPool:
pool: ${self:provider.stage}-user-pool
trigger: PreTokenGeneration
Он запускается и развертывается, но не подключает триггер пула пользователей в пуле пользователей (см. Ниже)
Как я могу настроить этот триггер? Документация, кажется, довольно не хватает, когда дело доходит до триггеров Cognito
1 ответ
Предварительная генерация токенов в настоящее время недоступна в UserPool LambdaConfig и, следовательно, не поддерживается CloudFormation (которую использует безсерверный фреймворк). На данный момент его можно настроить только через консоль или AWS CLI.
Согласно документации Serverless, вы должны сообщить атрибуту existing: true
и это очень важно, если вы не хотите создавать новый пул пользователей Cognito с использованием существующих пулов.
Также согласно этому форуму эта функция теперь рассматривается 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
Я буквально продублировал существующую функцию и изменил ее триггер.