Подключение к Neo4j с Javascript (без драйверов) - PullRequest
0 голосов
/ 02 ноября 2018

Я пытаюсь подключиться к своей базе данных Neo4j, используя Javascript без драйверов. Я получаю ошибку 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

1 Ответ

0 голосов
/ 02 ноября 2018

Авторизуйтесь, отправив имя пользователя и пароль в Neo4j по HTTP Основной Auth. Запросы должны включать заголовок авторизации с значение Basic, где "payload" - строка в кодировке base64 "имя пользователя: пароль".

https://neo4j.com/docs/developer-manual/current/http-api/authentication/#http-api-authenticate-to-access-the-server

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)
        });
}

https://github.com/request/request#http-authentication

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...