知识库

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

本文将展示如何使用以下方法测试 Neo4j REST API 的身份验证

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

Google Chrome 高级 REST 客户端

安装并启动 Google Chrome 高级 REST 客户端 应用程序后,您的浏览器应显示如下

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 请求的有效负载。将 名称 字段定义为 授权。单击 字段,您应该会看到一个 构造 弹出窗口,例如

image

单击 构造 然后允许您定义此请求的有效负载。具体来说,我们需要定义用户名/密码,例如,neo4j/mypassword

image

单击 确定 然后将返回到类似于以下显示的界面

image

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

image

上面的输出(包括状态:200 确定)表明请求已正确处理。状态 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 替换为实际密码。