如何解决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}');
我不明白的是,应用程序中引用的应用程序客户端未启用用户池作为身份提供者(请参见图片)。同样也没有选择OAuth Flow。
- 我的假设是,由于未为应用程序客户端启用
Cognito User Pool
,因此当我尝试添加新用户时,该操作可能会失败。但是,没有。 - 由于未选择OAuth流,因此不应返回ID令牌。但是我可以获取ID令牌,访问令牌。
Amplify cli还创建了一个身份池,两个角色(用于未认证和已认证的用户)。它引用了用户池。
我在这里想念什么?即使未启用用户池,它如何存储用户?
谢谢您的时间。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。