Как я могу сгруппировать пользователей AWS Cognito по группе или организации? - PullRequest
0 голосов
/ 27 июня 2018

Я хочу создать сервис, который позволит пользователям регистрироваться, но эти пользователи могут быть частью команды или организации; так же, как любой другой сервис, например Slack, Trello, Google Apps и т. Д. Таким образом, эти пользователи должны будут наследовать настройки и разрешения от родительской команды или организации, в которую они подписались как часть.

Я понимаю, что в Cognito есть группы пользователей, но они ограничены 25 для каждого пула пользователей согласно ограничениям, и по умолчанию существует ограничение в 60 пулов. Это даже правильный путь, или есть лучший способ сделать это? В частности, есть ли в Cognito встроенный механизм для решения этой проблемы или потребуется дополнительная работа?

Заранее спасибо.

1 Ответ

0 голосов
/ 27 июня 2018

Для реализации поддержки мультитенантов (групп, групп, организаций) для вашего приложения разделение их на группы Cognito не является правильным выбором.

Вы можете либо предоставить Userpool для каждого арендатора (вы можете запросить увеличение лимита с 60, отправив запрос на поддержку увеличения лимита в AWS), либо обработать арендаторов на уровне приложения, используя один Userpool (используя только Cognito для аутентификации).

Примечание. Если вы не используете отдельные субдомены (например, tenant1.xyz.com) для каждого арендатора со своим собственным значком страницы входа в систему, вы можете использовать один подход Cognito Userpool, который проще.

После того, как пользователь аутентифицируется с помощью страницы входа в Cognito, вы можете использовать триггер предварительного создания токена Cognito Lambda для запроса идентификатора пользователя Tenant из базы данных и добавления его в токен JWT, чтобы при проверке токена , вы можете получить идентификатор арендатора вошедшего в систему пользователя.

...