如何使用 FB auth 和 Cloudant 为每个用户架构安装一个数据库?

How to use FB auth and Cloudant to mount a db per user architecture?

我需要扩展我的应用程序以允许用户帐户。分析完这里的三个选项(https://wiki.apache.org/couchdb/PerDocumentAuthorization)我会遵循per user DB策略。

为了处理身份验证,我将使用 Twitter、FB 和 "manual registration"。但是我没有找到带有示例的相关文档。

用户数据库将包含有助于我更好地使用推送通知和存储有关用户的个人信息的信息。

任何人都可以帮助我参考如何实现它?

谢谢

您说得对,似乎在这方面缺少示例应用程序。这个想法是,在注册后,您的应用程序将

  • 为该用户创建一个新数据库 - PUT /$DATABASE (https://docs.cloudant.com/api.html#create)
  • 创建允许该用户 read/write 访问的 api key/password - PUT /_api/v2/db/$DATABASE/_security - (https://docs.cloudant.com/api.html#authorization)
  • 存储(在 Cloudant 数据库中)您的用户(Twitter ID 或句柄)与您为他们创建的数据库名称之间的关系
  • 将数据库名称、api 密钥和密码安全地传达给将发出请求的设备

例如

{
  "twitter": "glynn_bird",
  "database": "abc123"
 }

如果将来用户从另一台设备进行身份验证,您应该能够确定他们之前已经创建了一个帐户并将他们指向他们预先存在的数据库,发布一个新的 api 密钥 &过程中的密码。