袋数据库远程认证密码存储在浏览器中



我在浏览器pouchdb和couchdb以及远程同步中玩弄。这一切都很简单,但现在我遇到了一个我自己无法弄清楚的障碍。 出于安全原因,网站的每个用户都有自己的datbase,只能通过相应的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 中,但这会导致每次重新加载页面时登录。有没有办法像饼干/令牌身份验证一样使用?

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

任何提示将不胜感激。

使用cookie 身份验证的最简单方法是使用 GitHub 上的 pouchdb-authentication 插件。如果你不想使用它,那么你应该阅读之前关于Stackoverflow的问题(#23986912(,它更详细地讨论了这个问题。

希望这有帮助。

最新更新