当在客户端使用PouchDB访问远程服务器时,最好遵循什么安全实践?
在https://pouchdb.com/getting-started.html上的示例代码与远程服务器同步:
var remoteCouch = 'http://user:pass@mname.example.com/todos';
问题在于,我可能不希望用户在下载文件时看到明文密码,即使这个文件仅向经过身份验证的用户显示。
请指教。先行致谢。
当在客户端使用PouchDB访问远程服务器时,最好遵循什么安全实践?
在https://pouchdb.com/getting-started.html上的示例代码与远程服务器同步:
var remoteCouch = 'http://user:pass@mname.example.com/todos';
问题在于,我可能不希望用户在下载文件时看到明文密码,即使这个文件仅向经过身份验证的用户显示。
请指教。先行致谢。
这里有一篇关于CouchDB认证的非常好的文章。
我有一个生产服务器,配置了CouchDB使用本地主机上的HTTP,但外部请求需要通过stunnel重定向到CouchDB的HTTPS。
在客户端,我使用PouchDB维护本地复制数据库。作为建立与CouchDB之间的HTTPS通信握手的一部分,软件从另一台服务器获取CouchDB凭据 - 凭据永远不会存储在客户端。
pouchdb-authentication是一个很好的插件,但我发现自己更善于处理认证。
每个站点用户都应该拥有自己的CouchDB用户。如@onno所建议的那样,使用HTTPS和用户的登录凭据来访问CouchDB。密码永远不应该在客户端JavaScript中可用。