如何将 pouchdb 与远程 Coudant 同步,无法连接?
How to sync pouchdb with remote Coudant, not able to connect?
如何使用用户登录将PoucDB同步到Cloudant?我的 Cloudant 设置了 IAM 和 Legacy。
如何注册用户并使用凭据登录以使用 Cloudant 和 PouchDB
我没有在 Cloudant、PouchDB 文档中找到答案。并且在 Whosebug
中看不到我的答案
我正在使用 PouchDB 文档:
var db = new PouchDB('todos');
const remoteUrl = "https://some address"
const remoteOptions = {
'auth': { 'username': user , 'password': pass } }
const remoteDb = new PouchDB(remoteUrl, remoteOptions);
localDB.sync(remoteDB).on('complete', function () {
// yay, we're in sync!
}).on('error', function (err) {
// boo, we hit an error!
});
从 Cloudant 到本地 Couchdb 的复制确实有效。因此我可以远程连接到 Coudant。
因为您可以使用 Legacy Auth,所以我不会担心 IAM 身份验证。我们可以简单地为您的移动客户端生成一个 API key/password 并使用旧版身份验证。
正在创建 API 密钥
在 Cloudant 仪表板中,选择“权限”菜单并单击“生成 API 密钥”按钮。您应该看到生成的密钥和密码 - 这些成为您提供给 PouchDB 的 URL 中的用户名和密码。
如果您正在进行同步(即数据双向流动),那么您的 API 密钥需要 _reader
和 _writer
权限。如果数据仅从服务器流向移动设备,那么 _reader
& _replicator
就足够了。
客户端代码
您的客户端代码非常正确:
- 记住 Cloudant 只接受 HTTPS 连接
- 您的 API Key/Password 对中的密钥将成为您的用户名
- 您的 API Key/Password 对中的密码将成为您的密码
例如
const PouchDB = require('pouchdb')
const db = new PouchDB('todos')
const username = 'KEY'
const password = 'PASSWORD'
const host = 'mycloudservice.cloudant.com'
const databaseName = 'todos'
const remoteDB = `https://${username}:${password}@${host}/${databaseName}`
db.sync(remoteDB).on('complete', async function () {
console.log('done')
}).on('error', function (err) {
console.error(err)
});
如何使用用户登录将PoucDB同步到Cloudant?我的 Cloudant 设置了 IAM 和 Legacy。
如何注册用户并使用凭据登录以使用 Cloudant 和 PouchDB
我没有在 Cloudant、PouchDB 文档中找到答案。并且在 Whosebug
中看不到我的答案我正在使用 PouchDB 文档:
var db = new PouchDB('todos');
const remoteUrl = "https://some address"
const remoteOptions = {
'auth': { 'username': user , 'password': pass } }
const remoteDb = new PouchDB(remoteUrl, remoteOptions);
localDB.sync(remoteDB).on('complete', function () {
// yay, we're in sync!
}).on('error', function (err) {
// boo, we hit an error!
});
从 Cloudant 到本地 Couchdb 的复制确实有效。因此我可以远程连接到 Coudant。
因为您可以使用 Legacy Auth,所以我不会担心 IAM 身份验证。我们可以简单地为您的移动客户端生成一个 API key/password 并使用旧版身份验证。
正在创建 API 密钥
在 Cloudant 仪表板中,选择“权限”菜单并单击“生成 API 密钥”按钮。您应该看到生成的密钥和密码 - 这些成为您提供给 PouchDB 的 URL 中的用户名和密码。
如果您正在进行同步(即数据双向流动),那么您的 API 密钥需要 _reader
和 _writer
权限。如果数据仅从服务器流向移动设备,那么 _reader
& _replicator
就足够了。
客户端代码
您的客户端代码非常正确:
- 记住 Cloudant 只接受 HTTPS 连接
- 您的 API Key/Password 对中的密钥将成为您的用户名
- 您的 API Key/Password 对中的密码将成为您的密码
例如
const PouchDB = require('pouchdb')
const db = new PouchDB('todos')
const username = 'KEY'
const password = 'PASSWORD'
const host = 'mycloudservice.cloudant.com'
const databaseName = 'todos'
const remoteDB = `https://${username}:${password}@${host}/${databaseName}`
db.sync(remoteDB).on('complete', async function () {
console.log('done')
}).on('error', function (err) {
console.error(err)
});