Подключение Powershell Neo4j Invoke-RestMethod - PullRequest
0 голосов
/ 05 октября 2018

Я пытаюсь подключиться к Neo4j через Invoke-RestMethod (PowerShell версии 3,4,5).

Исходя из веб-рекомендаций, я устанавливаю URI: $ Uri = "http://localhost:7474/db/data/cypher"

... с последующим вызовом для вызова метода rest (POST или GET, не имеет значения)

Invoke-RestMethod -Uri $Uri -Method Post -Body $Body -ContentType 'application/json'

Я получаю сообщение:

System.Net.WebException: The remote server returned an error: (401) Unauthorized.
   at Microsoft.PowerShell.Commands.WebRequestPSCmdlet.GetResponse(WebRequest request)
   at Microsoft.PowerShell.Commands.WebRequestPSCmdlet.ProcessRecord()

Я пытался вставить http://userId/pwd@localhost:7474...., но ошибка та же.

Есть ли другой способпередать информацию аутентификации в Neo4j?

Отключение защиты не вариант.

Спасибо!

- Алекс

1 Ответ

0 голосов
/ 05 октября 2018

При аутентификации используется стандартная аутентификация http.Вы можете сделать это в powershell, например, с помощью следующего кода.

    $user = 'user'
$pass = 'pass'

$pair = "$($user):$($pass)"

$encodedCreds = [System.Convert]::ToBase64String([System.Text.Encoding]::ASCII.GetBytes($pair))

$basicAuthValue = "Basic $encodedCreds"

$Headers = @{
    Authorization = $basicAuthValue
}

Invoke-RestMethod -Uri $Uri -Method Post -Body $Body -ContentType 'application/json' -Headers $Headers

Справочная информация Код ошибки 401 говорит о том, что аутентификация на сервере неверна.

Я нашел эту информацию в документации.https://neo4j.com/docs/developer-manual/3.4/http-api/authentication/

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