【问题标题】:PouchDB remote authentication password storage in browserPouchDB 远程认证密码存储在浏览器中
【发布时间】:2020-09-21 11:41:06
【问题描述】:

我正在使用浏览器 pouchdb 和 couchdb 以及远程同步。这一切都是直截了当的,但现在我遇到了一个我无法弄清楚的路障。 出于安全原因,网站的每个用户都有自己的数据库,只能通过各自的 couchdb 用户访问。

const localDB = new PouchDB('test');
const remoteDB = new PouchDB(process.env.REMOTE_DATABASE);

const username = process.env.REMOTE_USER;
const password = process.env.REMOTE_PASSWORD;


remoteDB.login(username, password, (error, response) => {
    if (error) {
        console.error('Login failure', error)
    } else {
        console.log('Login success');
        dispatch('sync');
    }
});

console.log('sync');
localDB.sync(remoteDB, {live: true})
    .on('change', response => {
        console.log(response);
    })
    .on('error', error => {
        console.error('Sync failure', error);
    });

要创建用户,我需要一个后端层来处理用户注册和创建。这是现在的问题,我可以将管理员凭据“安全”存储在服务器上。现在我的问题是如何在浏览器中处理 pouchdb 用户凭据。可以在第一次加载应用程序时询问凭据,然后将其存储在 ram 中,但这会导致每次重新加载页面时都需要登录。有没有什么方法可以使用像cookie/token auth?

或者有没有办法通过处理身份验证的后端代理来代理 pouchdb 连接!?

任何提示将不胜感激。

【问题讨论】:

    标签: javascript authentication browser couchdb pouchdb


    【解决方案1】:

    使用 cookie 身份验证的最简单方法是使用 GitHub 上的 pouchdb-authentication plugin。如果您不想使用它,那么您应该阅读 Stackoverflow 上的 this previous question (#23986912),其中更详细地讨论了这一点。

    希望这会有所帮助。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2014-08-05
      • 2017-05-04
      • 2022-01-23
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-08-27
      • 1970-01-01
      相关资源
      最近更新 更多