Пулы пользователей AWS Cognito

#flutter #amazon-cognito #aws-amplify #aws-userpools

#flutter #amazon-cognito #aws-усиление #aws-пользовательские пулы

Вопрос:

Я использую плагин AWS Amplify для Flutter, чтобы использовать Cognito для аутентификации пользователя. Когда я выполняю amplify add auth followed by amplify push , создается стек CloudFormation с несколькими ресурсами, включая пул пользователей и пул удостоверений.Также создаются два клиента приложений. На один из них ссылаются lib/amplifyconfiguration.dart в моем приложении Flutter.

Используя API Cognito, я могу регистрировать новых пользователей в пуле пользователей. Я могу извлекать секретные ключи, идентификационный токен, используя следующий код.

 CognitoAuthSession session = await Amplify.Auth.fetchAuthSession(options: CognitoSessionOptions(getAWSCredentials: true));

print('Access key: ${session.credentials.awsAccessKey}');
print('Secret Key: ${session.credentials.awsSecretKey}');
print('Identity ID:  ${session.identityId}');
print('User Pool tokens: ${session.userPoolTokens.accessToken}');
print('User Pool tokens: ${session.userPoolTokens.idToken}');
  

Пользовательский пул

Чего я не понимаю, так это того, что клиент приложения, на который ссылается приложение, не включил пул пользователей в качестве поставщика удостоверений (см. Рисунок). Также не выбран поток OAuth.

  1. Я предполагаю, что, поскольку функция Cognito User Pool не включена для клиента приложения, когда я попытался добавить нового пользователя, может произойти сбой. Но этого не произошло.
  2. Поскольку поток OAuth не выбран, токен идентификатора не должен быть возвращен. Но я мог бы получить идентификационный токен, токен доступа.

CLI Amplify также создал пул удостоверений, пару ролей (для пользователей, не прошедших проверку подлинности, и пользователей, прошедших проверку подлинности). Он ссылается на пользовательский пул.

Чего мне здесь не хватает? Даже если пул пользователей не включен, как он может хранить пользователей?

Спасибо, что уделили мне время.

Комментарии:

1. вы нашли способ?