知识库

使用身份验证测试 Neo4j REST API 的轻量级方法

本文将展示如何通过以下方式测试启用了身份验证的 Neo4j REST API:

Neo4j REST API 描述了您可以提交给 Neo4j 服务器的每个命令。下面的示例描述了在启用身份验证时如何通过 Neo4j 服务器进行身份验证。要启用身份验证,请使用 conf/neo4j-server.properties 配置文件中定义的参数 dbms.security.auth_enabled=true

Google Chrome Advanced REST Client

安装并启动 Google Chrome Advanced REST Client 应用程序后,您的浏览器应显示如下:

image

对于标有 URL 的字段,应将其替换为 Neo4j 服务器的 URL,例如,http://localhost:7474/user/neo4j

对于您的实例,localhost 可能是实际的 IP 地址,例如,http://192.168.1.106:7474/user/neo4j

根据文档/user/neo4j 是进行身份验证的 URI。此外,HTTP 方法应定义为 GET

点击“表单”选项卡后,您可以定义 REST 请求的负载。将 名称 字段定义为 Authorization。点击 字段,您应该看到一个 CONSTRUCT 弹出窗口,例如:

image

点击 CONSTRUCT 后,您就可以定义此请求的负载。具体来说,我们需要定义用户名/密码,例如 neo4j/mypassword

image

点击 确定 后,您将返回到类似于以下内容的显示:

image

最后,点击 发送 将提交请求。您应该看到类似于以下内容的输出:

image

上述输出中的状态:200 OK 表示请求已成功处理。状态码为 4xx 则表示失败。此外,“响应”字段详细说明了 REST API 为给定命令提供的 JSON 输出。

Linux curl 命令

在单行(命令行)中,在 linux 提示符下发出以下命令:

$ curl -H accept:application/json -H content-type:application/json -H Authorization:"Basic bmVvNGo6cGFzc3dvcmQ=" http://192.168.1.106:7474/user/neo4j

预期输出

{
 "password_change_required" : false,
 "password_change" : "http://192.168.1.106:7474/user/neo4j/password",
 "username" : "neo4j"
}

在上面的示例中,您可能需要更改 http 规范中引用的 IP 地址值(即 http://192.168.1.106:7474/user/neo4j)。此外,您还需要更改密码的 base64 加密值(即 Basic bmVvNGo6cGFzc3dvcmQ=)。要将字符串加密为 base64,您可以运行:

$ echo -n 'neo4j:mypassword' | base64

将上面的 mypassword 替换为实际密码。