簡體   English   中英

身份驗證失敗。 Couchbase 中的 OpenBucket

[英]Authentication failed. OpenBucket in couchbase

我的任務是使用帶有兩個端點的 node.js 設置一個 couchbase 服務器。 當我想連接一個存儲桶時,出現如下所示的錯誤:

CouchbaseError:身份驗證失敗。 您可能提供了無效的用戶名/密碼組合消息:“身份驗證失敗。 您可能提供了無效的用戶名/密碼組合',代碼:2

而我的代碼 app.js 如下

var express = require("express");
var couchbase = require("couchbase");
var bodyParser = require("body-parser");

var cluster = new couchbase.Cluster('couchbase://localhost');
var bucket = cluster.openBucket('example'); //the name of bucket is 'example'
bucket.on('error', function(err) {
  console.log('Bucket: CONNECT ERROR:', err);});

var app=express();
app.use(bodyParser.json());
app.use(bodyParser.urlencoded({extended:true}));

// create two endpoints 

app.get("/person/:id", function(req, res){
  bucket.get(req.params.id, function (error, result){
     if(error){
         console.log("error in get method");
         return res.status(400).send(error);
     }
     res.send(result); 
 });
});

app.post("/person/:id", function(req, res){
  var document = {
    firstName :req.body.firstName,
    lastName : req.body.lastName
  }
  bucket.upsert(req.params.id, function (error, result){
    if(error){
        console.log("error in post method");
        return res.status(400).send(error);
    }
    res.send(result); 
 });
});

var server = app.listen(3000, function(){
  console.log("Listening on port %s...", server.address().port); 
});

建立數據庫連接時,您需要提供 couchbase 登錄憑據 (cluster.authenticate)。

    var cluster = new couchbase.Cluster('couchbase://localhost');
    cluster.authenticate('username', 'password'); 
    var bucket = cluster.openBucket('database-name'); //the name of bucket
    bucket.on('error', function(err) {
      console.log('Bucket: CONNECT ERROR:', err);});

我們需要更新身份驗證詳細信息,然后才能正常工作。

cluster.authenticate({username:"admin", password: "password"});

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM