如何使用带有 iOS SDK 的 Facebook 身份验证通过 DynamoDB 和 Cognito 存储用户信息

Posted

技术标签:

【中文标题】如何使用带有 iOS SDK 的 Facebook 身份验证通过 DynamoDB 和 Cognito 存储用户信息【英文标题】:How to store user information with DynamoDB and Cognito using Facebook authentication with iOS SDK 【发布时间】:2014-12-24 12:50:03 【问题描述】:

Cognito身份管理与Dynamo DB结合是否合适?

我想通过 Facebook用户 进行身份验证,我可以使用 Cognito 进行身份验证,然后将用户相关数据存储在 DynamoDB 表中。

我将使用来自Cognito 的哪些信息作为我的表的主键 以保证唯一性?或者我应该简单地使用我可以通过 graph API 获得的 facebookId

【问题讨论】:

【参考方案1】:

您可以使用 cognito 身份 ID 作为 DynamoDB 表的哈希键,查看 this question 获取示例 IAM 策略。

【讨论】:

所以,更一般地说,在所有情况下,我都必须拥有哈希密钥作为用户,我想像这样保护我的数据?我可以将其添加为表格的另一个字段吗? @TiborUdvari 如果要限制对整个项目的访问,则必须使用索引属性。您还可以限制对表列的访问,但这听起来更像是您试图按用户对表进行分区,这意味着使用身份 ID。更多细粒度访问控制的例子可以参考DynamoDB docs。 感谢您的帮助,我有一个相当复杂的用例......现在有了文档,我看到了如何实现。

以上是关于如何使用带有 iOS SDK 的 Facebook 身份验证通过 DynamoDB 和 Cognito 存储用户信息的主要内容,如果未能解决你的问题,请参考以下文章

在 iOS 上使用带有 UIActivityViewController 的 Facebook SDK 会话对象

Facebook iOS SDK,使用 ShareDialog(不是 GraphAPI)分享带有标题的图像

Ios Facebook SDK 我如何共享图像、链接、文本?

带有iOS swift的Facebook SDK未在UIWebView中打开[重复]

使用 Facebook IOS SDK 3.1 和 Graph API 发布带有标题的图片

我如何从facebook IOS SDK邀请的朋友那里获得ID?