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

Я пытаюсь подключиться к 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?

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

Спасибо!

--Alex

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/

Другие вопросы по тегам