我正在尝试使用不带驱动程序的Javascript连接到我的Neo4j数据库。我收到401 Auth Required错误。这是我的js文件:
const http = require('http');
const hostname = 'localhost';
const port = 3000;
const server = http.createServer((req, res) => {
res.statusCode = 200;
res.setHeader('Content-Type', 'text/plain');
res.end('Hello World\n');
});
server.listen(port, hostname, () => {
console.log(`Server running at http://${hostname}:${port}/`);
var r = require("request");
var txUrl = "https://hobby-faabenangmiagbkeeiembdbl.dbs.graphenedb.com:24780/db/data/transaction/commit";
function cypher(query,params,cb) {
r.post({uri:txUrl,
json:{statements:[{statement:query,parameters:params}]}},
function(err,res) {
cb(err,res.body)
});
}
var query = "MATCH (tom {name: 'Tom Hanks'}) RETURN tom"
var params = {limit: 10}
var cb = function(err,data) {
console.log(JSON.stringify(data))
};
cypher(query,params,cb);
});
我可以在哪里传递我的凭据?我正在查看此文件,但是他们没有传递凭据的示例,并且在不使用驱动程序的情况下我找不到如何做的方法:https://neo4j.com/developer/the-example-project-4/#_neo4j_for_javascript_developers
答案 0 :(得分:1)
通过使用HTTP向Neo4j发送用户名和密码进行身份验证 基本验证请求应包含一个Authorization标头,并带有 Basic的值,其中“ payload”是base64编码的字符串 “用户名:密码”。
function cypher(query, params, cb) {
r.post({
uri: txUrl,
auth: {
'user': 'user',
'pass': 'password'
},
json: {
statements: [{
statement: query,
parameters: params
}]
}
},
function(err, res) {
cb(err, res.body)
});
}