如何构建多用户 pouchdb/coucdb 应用程序和身份验证

How do I structure a multiuser pouchdb/coucdb app and authentication

我已经阅读了关于该主题的大约 10 个相关的 Whosebug 问题,这些问题都分散在一个类似的问题周围......我想围绕一个虚构的 "todo" 应用程序简化我的问题。我正在学习编码 (javascript),但遇到了障碍。我的 "passion" 让我不断学习的项目非常复杂,解决了个人旅行问题。希望有一天我能回馈!

这是虚构的应用程序:

此应用程序将使用 Ionic 2 构建。第一个离线应用程序将让用户登录并创建他们自己的 "to dos." 列表,这些应该可以通过他们的移动 phone 和桌面访问并同步.用户还应该能够与社区共享他们的待办事项列表,社区可以复制其他人 "Todo" 列表。该应用程序还应该能够查询用户最喜欢做什么 "brush my teeth" 或 "check out my batman collection." 用户还应该能够使用任何社交网络登录(Facebook、twitter、google 等) .

1) 如何构建 pouchdb/couchdb 数据库?打开 couchbase/cloudant.

它是每个用户的数据库吗?它是每个角色的数据库吗?是不是每个人都有一个数据库(我知道这有安全问题)?

2)假设您将每个客户端pouchdb数据库合并到一个大数据库中进行查询是否正确?

3) 是否必须使用 NodeJS 后端或服务器?

4) 可以使用 Auth0 或 Stormpath 进行身份验证吗?

我已经研究了大约 5 天,但我无法弄清楚。非常感谢所有的帮助。

编辑:我认为这很好地解释了除了我认为可以与 Bluemix 一起使用的身份验证之外我还需要什么?

https://cloudant.com/blog/replication-with-cloudant-pt-3/#.V38hxpMrJE6

想法?

您可以使用 "pouchdb-authentication" 管理用户身份验证:(https://github.com/nolanlawson/pouchdb-authentication)

您可以在 CouchDB“_user”数据库中为身份验证和用户元数据创建 "user" 文件,然后为每个用户创建一个数据库。

您可以为每个用户数据库创建用户和角色,并且 "design documents" 来规范与他们关联的用户和角色可以处理文档(用户的 "ToDo" 列表)。

PouchDB "search plugin" 是开始使用它们 (https://github.com/nolanlawson/pouchdb-quick-search) 的好方法,它提供了一种轻松查找内容的好方法。

我只是将 PouchDB/CouchDB 用于我正在构建的应用程序。我需要在服务器端用 Perl 做的事情。 PHP 可能是一个更好的支持选项,但我喜欢 Perl,并且有一些 perl 模块与 CouchDb 接口,但我已经在 perl 中使用 Curl 完成了我需要的大部分工作。

"Is it right to assume that you would combine each client pouchdb database in to one large database for querying?"

我不知道。我最初的预感是否定的,除非您想将所有待办事项列表放在一个数据库中,以便所有人轻松共享。我认为如果将用户 ToDos 保存在用户数据库中,可能更容易管理用户更细粒度的共享。