DynamoDB 凭证初始化

DynamoDB Credentials Init

我正在开发一个使用 DynamoDB 和 facebook 登录的应用程序。到目前为止一切顺利,我只使用我的 FB 帐户来测试我的应用程序。当我想用另一个测试时,我对 dynamoDB 的所有请求都被拒绝了。在对所有内容进行三重检查后,我认为我建立的凭据是错误的。这是我的代码:

credentials = new CognitoAWSCredentials(
             "eu-west-1:MY_ID_POOL", // IDENTITY POOL ID
             Amazon.RegionEndpoint.EUWest1 // REGION
       );
client = new AmazonDynamoDBClient(credentials, Amazon.RegionEndpoint.EUWest1);
context = new DynamoDBContext(client);
credentials.AddLogin("graph.facebook.com", _Token);

考虑到这段代码已经在我的 fb 帐户上运行了几个月,但它不适用于我的测试帐户,我很难找到我做错了什么。我已经尝试将我的测试帐户提升到 Facebook Developers 中的开发和管理员权限,没有任何变化。当我尝试向 DynamoDB 发送请求时,我确定我的程序崩溃了,没有抛出任何我能捕捉到的异常。

非常感谢您的回答。

编辑:设法最终捕捉到异常:

登录名不匹配。请为此身份或身份池至少提供一个有效登录信息。

当我尝试将项目放入数据库时​​。我的身份池授权 Facebook 登录和 App ID 是正确的。角色授权一切,所以这应该不是问题。我做错了什么 ?

能够修复错误。看起来身份池一次只允许一个用户(这很奇怪,必须深入研究)。要修复,只需在停止应用程序并切换到另一个用户时从凭据中清除 ID 缓存:

credentials.ClearIdentityCache();