我已经摸索了几个小时,试图理解一个移动应用程序中的Cognito和身份管理。我是移动应用开发的新手。我以前做过一个移动应用,但从来没有一个有后端的。因此,现在我正在尝试AWS,打算尝试一下。
我想确保使用我的应用程序的每个用户都可以被唯一地识别,这样我就可以存储他们提交给与他们相关的服务器的内容。但我也希望其他用户能够看到他们提交的内容。我还没有决定数据存储机制(亚马逊似乎提供了一些),但无论它是什么,都将是一项无限期的免费服务,因为我不打算在这款应用上花费(或赚到)任何钱。
让我感到困惑的部分原因是需要使用我想要与联合身份一起使用的任何服务来创建App I。我开始怀疑有很多种身份让我感到困惑。App是否有独立于用户身份的身份?我不希望仅仅为了允许用户使用他们的Google或Amazon账户登录我的应用程序而创建Google和Amazon应用程序ID。我怀疑我对API的理解是错误的,并且我很难从Xamarin中找到可用的示例代码。
我有这么多代码(唯一标识符x'd out):
CognitoAWSCredentials credentials = new CognitoAWSCredentials(
"us-east-2:xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx", // Identity pool ID
RegionEndpoint.USEast2 // Region
);这看起来(在调试器中)运行时至少没有抛出异常,但我不清楚它给了我什么。我怀疑这个credentials对象在用户可能重启设备并在第二天再次启动应用程序后,是否能唯一标识用户。为此,我怀疑我需要更多的东西,但我不清楚是什么。下一个最简单的步骤是什么来获取用户的唯一标识符,我可以将其与他们的内容一起存储,以便与他们相关联?
发布于 2017-09-04 23:33:14
您是想让用户使用第三方身份,还是想提供用户自己的身份?对于联合身份(第三方),您需要提供一个身份池ID,它是在Cognito中创建的,用于标识联邦身份提供者。对于Cognito中您自己的身份,您可以创建用户池,该用户池也具有一个ID。
如果您想要提供用户登录和注册,那么您希望使用Cognito身份,而不是联邦身份。下面的链接有一些关于这方面的很好的参考-
https://stackoverflow.com/questions/46039811
复制相似问题