[PouchDB远程认证密码在浏览器中的存储

问题描述 投票:0回答:1

我正在浏览器中使用pouchdb,couchdb和远程同步。这一切都是直截了当的,但现在我处于一个无法解决自己的障碍。出于安全原因,该网站的每个用户都有其自己的数据库,只能通过相应的benchdb用户进行访问。

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 /令牌身份验证?

或者有没有一种方法可以通过处理身份验证的后端代理来代理pouchdb连接!?

任何技巧都将不胜感激。

javascript authentication browser couchdb pouchdb
1个回答
0
投票

使用Cookie身份验证的最简单方法是使用GitHub上的pouchdb-authentication plugin。如果您不想使用此功能,则应阅读Stackoverflow上的this previous question(#23986912),其中将对此进行详细讨论。

希望这会有所帮助。

© www.soinside.com 2019 - 2024. All rights reserved.