身份验证

Aura API 使用 OAuth 2.0 进行 API 身份验证。

创建凭据

AuraDB 虚拟专用云用户和 AuraDS 企业用户可以无限制地创建 API 凭据。但是,拥有免费和专业实例的用户必须输入账单信息或加入市场项目才能创建 API 凭据。

  1. 在您的浏览器中导航到 Neo4j Aura 控制台帐户详细信息页面

  2. Aura API 凭据 部分选择 创建 按钮。

  3. 输入 客户端名称,然后选择 创建

  4. 安全地保存您在结果模态中获得的 客户端 ID客户端密钥;您将在下一步中需要这些内容。

您无法在关闭模态后检索您的密钥,因此请安全地保存它。

验证 API 请求

要验证对 Aura API 的 API 请求,您必须在每个请求的 Authorization 标头中提供一个承载令牌,如下所示

Authorization: Bearer <access_token>

您可以使用 Aura API 页面上的 授权 按钮,使用您的客户端 ID 和客户端密钥直接验证和测试端点。UI 会为您设置 Authorization 标头。

令牌端点

您可以使用以下 /oauth/token 端点来获取用于验证 API 请求的承载令牌。

对令牌端点的身份验证使用 HTTP 基本身份验证,其中客户端 ID 和客户端密钥分别作为用户名和密码提供。

请求参数

  • 方法: POST

  • 令牌 URL: https://api.neo4j.io/oauth/token

请求标头

参数

Authorization [1]

Basic <credentials> [2]

Content-Type

application/x-www-form-urlencoded

1. 当您提供客户端 ID 作为用户名和客户端密钥作为密码时,此标头将为您设置。

2. 其中 <credentials> 是使用冒号 (:) 连接的客户端 ID 和客户端密钥的 base64 编码字符串。

请求正文

参数

grant_type

client_credentials

请求和响应都包含敏感信息,必须保密。

您有责任维护客户端凭据和访问令牌的机密性,无论是在传输中(通过指定 HTTPS),还是在静止状态下存储,还是在日志文件等中。

请求示例

curl --request POST 'https://api.neo4j.io/oauth/token' \
     --user '<client_id>:<client_secret>' \ (1)
     --header 'Content-Type: application/x-www-form-urlencoded' \
     --data-urlencode 'grant_type=client_credentials'
1 --user 选项为您设置 Authorization 标头,处理客户端 ID 和客户端密钥的 base64 编码。
import requests
from requests.auth import HTTPBasicAuth

# Make the request to the Aura API Auth endpoint
response = requests.request(
    "POST",
    "https://api.neo4j.io/oauth/token",
    headers={"Content-Type": "application/x-www-form-urlencoded"},
    data={"grant_type": "client_credentials"},
    auth=HTTPBasicAuth(client_id, client_secret) (1)
)

print(response.json())
1 client_idclient_secret 必须设置为从 Aura 控制台中获得的值。

响应正文示例

{
  "access_token": "<token>", (1)
  "expires_in": 3600,
  "token_type": "bearer"
}
1 此处返回的 access_token 是您将在 Aura API 请求的 Authorization 标头中提供的承载令牌。

HTTP 响应代码

代码 消息 描述

200

成功

成功请求访问令牌。

400

错误请求

请求无效。

401

未经授权

提供的凭据无效、已过期或已被吊销。

403

禁止

请求正文无效。

404

未找到

请求正文丢失。

令牌过期

如果您在使用已过期的访问令牌进行身份验证的情况下向 Aura API 发送请求,您将收到 403 禁止响应。您将需要获取一个新令牌才能继续使用 API。