首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >PouchDB同步授权?

PouchDB同步授权?
EN

Stack Overflow用户
提问于 2014-10-28 06:39:22
回答 2查看 5.5K关注 0票数 9

如何确保当前用户拥有通过PouchDB访问CouchDB数据库的权限?根据我的实验,使用CouchDB数据库名调用新的PouchDB()方法可以授予您对该数据的访问权限。

在Futon中将require_valid_user设置为true似乎是可行的,但在通过POST /_session验证用户身份后,Futon模式窗口仍会弹出。我希望有一个标准的登录屏幕(用户名和密码),让用户登录到我的应用程序中,并(通过PouchDB)授予对正确的CouchDB数据库的访问权限。我能这么做吗?任何帮助都将不胜感激。

EN

回答 2

Stack Overflow用户

发布于 2015-01-13 11:27:33

有一个由Nolan Lawson构建的PouchDB插件,它为PouchDb提供了身份验证API:

代码语言:javascript
复制
var db = new PouchDB('http://mysite:5984/mydb');
db.login('batman', 'brucewayne').then(function (batman) {
  console.log("I'm Batman.");
  return db.logout();
});

下面是它混合使用的方法:

  • signup
  • login
  • logout
  • getSession
  • getUser

为了防止浏览器HTTP基本身份验证模式对话框过时,我们在使用PouchDB的方式上必须小心谨慎。要防止对CouchDB (用于检查远程DB是否存在)发出未经验证的rouge请求,请在Pouch的构造函数选项中传递skipSetup: true。其次,要根据_session对请求进行身份验证,请将HTTP basic authorization头部添加到db.login()的AJAX选项中。

代码语言:javascript
复制
var user = {
  name: 'admin',
  password: 'admin'
};

var pouchOpts = {
  skip_setup: true
};

var ajaxOpts = {
  ajax: {
    headers: {
      Authorization: 'Basic ' + window.btoa(user.name + ':' + user.password)
    }
  }
};

var db = new PouchDB('http://localhost:5984/test', pouchOpts);

db.login(user.name, user.password, ajaxOpts).then(function() {
  return db.allDocs();
}).then(function(docs) {
  console.log(docs);
}).catch(function(error) {
  console.error(error);
});
票数 9
EN

Stack Overflow用户

发布于 2020-07-30 17:04:22

我使用pouchdb身份验证进行同步

代码语言:javascript
复制
 npm i pouchdb-authentication

插件导入

代码语言:javascript
复制
var PouchDB = require("pouchdb");
PouchDB.plugin(require('pouchdb-authentication'));

代码:

代码语言:javascript
复制
var localDb = new PouchDB('mydatabase');
var remoteDb = new PouchDB('http://localhost:5984/mydatabase', {skip_setup: true});

remoteDb.login(username, password).then(function () {
  localDb.sync(remoteDb, {live: true, retry: true, /* other sync options */});
});
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/26598045

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档