AWS Cognito用户池

时间:2020-10-08 08:34:42

标签: flutter amazon-cognito aws-amplify aws-userpools

我正在使用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}');

Userpool

我不明白的是,应用程序中引用的应用程序客户端未启用用户池作为身份提供者(请参见图片)。同样也没有选择OAuth Flow。

  1. 我的假设是,由于未为应用程序客户端启用Cognito User Pool,因此当我尝试添加新用户时,该操作可能会失败。但是,没有。
  2. 由于未选择OAuth流,因此不应返回ID令牌。但是我可以获取ID令牌,访问令牌。

Amplify cli还创建了一个身份池,两个角色(用于未认证和已认证的用户)。它引用了用户池。

我在这里想念什么?即使未启用用户池,它如何存储用户?

谢谢您的时间。

0 个答案:

没有答案