#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.
- Я предполагаю, что, поскольку функция
Cognito User Pool
не включена для клиента приложения, когда я попытался добавить нового пользователя, может произойти сбой. Но этого не произошло. - Поскольку поток OAuth не выбран, токен идентификатора не должен быть возвращен. Но я мог бы получить идентификационный токен, токен доступа.
CLI Amplify также создал пул удостоверений, пару ролей (для пользователей, не прошедших проверку подлинности, и пользователей, прошедших проверку подлинности). Он ссылается на пользовательский пул.
Чего мне здесь не хватает? Даже если пул пользователей не включен, как он может хранить пользователей?
Спасибо, что уделили мне время.
Комментарии:
1. вы нашли способ?