ios - 如何在不登录AWS的情况下随机生成用户ID

标签 ios xcode amazon-web-services amazon-cognito amazon-iam

用户无需登录即可使用我的应用程序。但是,如果他们创建帐户(例如保存产品),就会获得更多功能。

我正在研究以下AWS文档:Integrate Your Existing NoSQL Table - AWS Mobile Hub Developer Guide

但是,对于允许没有登录用户的权限,它似乎没有任何详细信息。当用户第一次打开应用程序并仍然使用它创建用户时,我将需要随机生成一个ID。

我已经建立了一个包含产品列表的数据库。我计划使用ObjectMapper API来查询数据库。

最佳答案

AWS有一个名为Amazon Cognito的服务。
Amazon Cognito有两个部分,Cognito用户池和Cognito联合身份。

Cognito User Pools管理用户创建,凭证存储,组分配等。

Cognito Federated Identity,将经过身份验证的用户转换为AWS IAM凭证。
Cognito联合身份可以使用Cognito User Pools to authenticate, or Facebook, Amazon, Google, Apple, SAML or OpenID

Cognito联合身份允许同时进行身份验证和未经身份验证的用户。
您可以从Unauthenticated users to Authenticated用户切换。

您可以通过调用GetId使用Cognito联合身份来获取用户ID。
Logins参数是可选的。 GetId每次都会返回唯一的用户Guid。然后,您可以在本地存储该Guid来跟踪您的用户,稍后,如果该用户决定注册,则可以link that guid to an authenticated user。该链接包含iOS代码示例。

AWS Mobile Hub(现在称为Amplify)在后台使用Cognito,您可以看到流程流here

关于ios - 如何在不登录AWS的情况下随机生成用户ID,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61984077/

相关文章:

amazon-web-services - 卷 IOPS、卷吞吐量 (MiB/s) 和网络 (Gbps) 的 CloudWatch 指标

iOS "Cannot Decode"m3u8

ios - 如何从主页选项卡中的按钮单击按钮时加载的 UiTableViewController 返回 UiTabBar 主页?

android - react-native-linkedin-sdk - 无法读取未定义的属性 'configure' (LinkedInSessionManager.ios.js)

amazon-web-services - AWS 是否提供区域间/跨区域 VPC 对等连接?

postgresql - psql:致命:用户 ""aws rds Postgresql 的 PAM 身份验证失败

objective-c - 使用 Storyboard 时,从 appdelegate 调用 View Controller 方法不起作用

ios - 在 Swift 中推送和弹出后 View 不显示

ios - NSDate dateByAddingUnit 强制选项 - nil 不编译

ios - 添加 Storyboard 引用后,选项卡栏 Controller 项目中不显示任何内容