浏览器PouchDB远程认证密码存储
PouchDB remote authentication password storage in browser
我正在使用浏览器 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);
});
要创建用户,我需要一个后端层来处理用户注册和创建。这是现在的问题,因为我可以在服务器上存储管理员凭据 "secure"。现在我的问题是如何在浏览器中处理 pouchdb 用户凭据。可以在第一次加载应用程序时询问凭据,然后将其存储在 ram 中,但这会导致每次重新加载页面时都要登录。有什么办法可以像cookie/token auth?
那样使用吗
或者有没有办法通过处理身份验证的后端代理来代理 pouchdb 连接!?
如有任何提示,我们将不胜感激。
使用 cookie 身份验证的最简单方法是使用 Whosebug 上的 pouchdb-authentication plugin on GitHub. If you do not want to use this then you should read this previous question (#23986912),其中对此进行了更详细的讨论。
希望对您有所帮助。
我正在使用浏览器 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);
});
要创建用户,我需要一个后端层来处理用户注册和创建。这是现在的问题,因为我可以在服务器上存储管理员凭据 "secure"。现在我的问题是如何在浏览器中处理 pouchdb 用户凭据。可以在第一次加载应用程序时询问凭据,然后将其存储在 ram 中,但这会导致每次重新加载页面时都要登录。有什么办法可以像cookie/token auth?
那样使用吗或者有没有办法通过处理身份验证的后端代理来代理 pouchdb 连接!?
如有任何提示,我们将不胜感激。
使用 cookie 身份验证的最简单方法是使用 Whosebug 上的 pouchdb-authentication plugin on GitHub. If you do not want to use this then you should read this previous question (#23986912),其中对此进行了更详细的讨论。
希望对您有所帮助。