CognitoCachingCredentialsProvider.setLogins 中的 Key 使用什么值?

What value to use for Key in CognitoCachingCredentialsProvider.setLogins?

我正在使用没有任何支持身份的 Cognito 用户池;用户池登录是唯一使用的身份验证 (AWS Cognito Sign-In (Android))。在使用 CognitoCachingCredentialsProvider 时,我 运行 遇到了一个问题,即我应该为 HashMapsetLogins 中的密钥使用的值没有出现记录在案。我找到了第三方身份提供商的示例("accounts.google.com"、"graph.facebook.com"、"www.amazon.com"),但使用其中任何一个,或者我在 "www.cognito-idp.us-east-1.amazonaws.com/[UserPoolID]" 或某处找到的建议解决方案我最初尝试使用用户池本身的名称时,都给出了 Invalid login token. Issuer doesn't match providerName 的错误,我 运行 没有想法随机抛出这个问题并希望它们有效。

对于直接由 Cognito 用户池验证的用户,进入 setLogins 的 HashMap 的正确键值应该是什么有什么想法吗?

确切的格式应该是这样的字符串:"cognito-idp." + 地区 + ".amazonaws.com/" + 用户池 ID。这是我使用的代码 - 请注意,我的区域与您的区域不同,因此请编辑您的区域以改用 us-east-1。

Map<String, String> logins = new HashMap<String, String>();
String iss = "cognito-idp.eu-central-1.amazonaws.com/" + AWSConstants.USER_POOLS_POOL_ID;
logins.put(iss, jwtToken);
credentialsProvider.setLogins(logins);

希望对您有所帮助!