Подключение к Powershell Neo4j Invoke-RestMethod

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

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

... за которым следует вызов для вызова метода отдыха (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?

Отключение безопасности не вариант.

Спасибо!

--Алекс


person Alex V    schedule 05.10.2018    source источник


Ответы (1)


Аутентификация должна быть стандартной аутентификацией 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/

person sweting    schedule 05.10.2018
comment
я тоже выбрал этот путь, и он возвращается с ошибкой: errors ------ {@ {code = Neo.ClientError.Request.InvalidFormat; message = U - person Alex V; 07.10.2018
comment
Это означает, что аутентификация прошла успешно, но запрос не содержит всей необходимой информации. Клиент предоставил запрос, в котором отсутствуют обязательные поля или недопустимые значения. См. Документацию neo4j.com/docs/developer-manual/current/reference / status-коды - person sweting; 07.10.2018