多用户 Ionic/CouchDB 应用的推荐

Recommendations for multi-user Ionic/CouchDB app

我需要为使用 Ionic 1、PouchDB 和 CouchDB 开发的单页移动应用程序添加多用户功能。阅读了许多文档后,我对什么是最佳选择感到困惑。

关于我的应用程序:

根据我所阅读的内容,我正在考虑以下内容:

我的问题:

非常感谢您的帮助!

这是一种合适的方法。即使客户端离线,本地 PouchDB 也会在客户端提供数据。与中央 CouchDB 服务器的结合非常适合在服务器和客户端之间保持数据同步。

您想存储用户凭据,因此您必须以某种方式在客户端保存此数据,这可以在单独的 PouchDB 中完成。

如果您将所有用户数据保存在本地 PouchDB 数据库中,并且服务器上的每个用户都有一个 CouchDB 数据库,您甚至可以省略您提到的过滤器,因为同步只会发生在这两个用户数据库之间。

我推荐 SuperLogin。是的,您必须安装 NodeJS 和一些额外的库(即 morganexpresshttpbody-parsercors),并且您将必须向至少一个新端口打开您的服务器才能提供此服务。但是 SuperLogin 在管理 CouchDB 服务器上的用户帐户和用户数据库方面确实非常强大。

例如,如果用户注册,您只需通过http://server_address:port/auth/register调用SuperLogin,查询用户名、密码等,SuperLogin不仅将这个新用户添加到用户数据库中,还仅为该用户自动创建一个新数据库。每个用户可以拥有多个数据库(私有或共享),SuperLogin 管理对所有这些数据库的访问权限。此外,SuperLogin 还可以发送确认电子邮件或重新发送忘记的密码(分别是访问令牌)。

当然,您将需要进行大量配置(但是,嘿,至少您拥有所有这些选项),也许您甚至需要为 SuperLogin 未涵盖的功能编写一些额外的 API。但总的来说,SuperLogin 为自定义用户管理的开发省去了很多痛苦。

但如果您不确定服务器配置,也许 Couchbase、Firebase 等服务是更好的解决方案。这些服务还具有一些用户管理功能,您不必担心服务器安全问题。