AWS Cognito用户池

问题描述

我正在使用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还创建了一个身份池,两个角色(用于未认证和已认证的用户)。它引用了用户池。

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

谢谢您的时间。

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)