Могу ли я создавать временных пользователей через Amazon Cognito? - PullRequest
1 голос
/ 11 июля 2020

Поддерживает ли Amazon Cognito временных пользователей? Для моего варианта использования я хочу иметь возможность предоставлять доступ внешним пользователям, но ограниченный периодом времени (например, 7 дней)

В настоящее время мое решение выглядит примерно так:

  • Создать пользователя в группе пользователей
  • Запланировать запуск задания cron через x дней
  • Задание отключит / удалит пользователя из группы пользователей

Кажется, все это довольно руководство, и я надеялся, что Cognito предоставит нечто подобное автоматически.

1 Ответ

1 голос
/ 11 июля 2020

К сожалению, нет никаких функций, используемых для автоматизации этого рабочего процесса, поэтому вам нужно будет разработать собственное решение.

Я бы предложил следующий подход для решения этой проблемы:

Создайте лямбда-функцию, которая может выполнить пост-процесс регистрации пользователя . Эта функция Lambda создаст событие CloudWatch с расписанием на 7 дней в будущем. Используя SDK, вы могли бы создать событие и назначить цель другой лямбда-функции . Когда вы указываете цель в функции put_targets , используйте параметр Input для передачи вашего собственного JSON, он должен содержать элемент метаданных, связанный с пользователем.

Затем вы должны создать после подтверждения Лямбда-триггер , который запускает Лямбда, который вы создали на предыдущем шаге. Это позволит вам планировать событие каждый раз, когда пользователь регистрируется.

Наконец, создайте целевую лямбду для события CloudWatch, это будет иметь доступ к входным данным, переданным из триггера, и может использовать AWS SDK для выполнять любые когнитивные функции , которые вы можете захотеть использовать, например, удаление пользователя.

Преимущество использования этих служб, а не cron, заключается в том, что вы можете выполнять наиболее оптимальную обработку только тогда, когда обязательный. Если у вас много пользователей в этой временной группе, вам потребуется l oop через каждого пользователя и сравнить, готов ли он к удалению для одноразового сценария (и, возможно, иногда никогда не удалять пользователей).

...