我正在使用AWS Amplify for Flutter插件来使用Cognito进行用户身份验证。当我先执行amplify add auth
之后执行amplify push
时,会创建一个CloudFormation堆栈,其中包含多个资源-包括用户池和身份池。还创建了两个应用程序客户端。我的Flutter应用中的lib/amplifyconfiguration.dart
中引用了其中一个。
使用Cognito API,我可以将新用户注册到用户池。我可以使用以下代码获取秘密密钥和ID令牌。
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 Flow。
Cognito User Pool
,因此当我尝试添加新用户时,该操作可能会失败。但是,没有。Amplify cli还创建了一个身份池,两个角色(用于未认证和已认证的用户)。它引用了用户池。
我在这里想念什么?即使未启用用户池,它如何存储用户?
谢谢您的时间。