授权请求
除非服务器上禁用了身份验证,否则所有请求都必须使用有效用户的登录凭据进行授权。
请求通过Authorization
标头进行授权。支持基本和承载者身份验证。
如果服务器上禁用了身份验证,则可以在没有Authorization 标头的情况下发送请求。 |
基本身份验证
基本身份验证的标头格式遵循标准格式 (RFC 7617)
Authorization: Basic <base64(username:password)>
示例 1. 基本身份验证
要以用户neo4j
和密码verysecret
的身份进行身份验证,首先将它们用冒号连接起来
neo4j:verysecret
然后对该值进行 Base64 编码
bmVvNGo6dmVyeXNlY3JldA==
如何对字符串进行 Base64 编码
要在 Linux 或 Mac 机器上对字符串进行 Base64 编码,请使用内置的base64
命令
echo -n "neo4j:verysecret" | base64
要获取最终标头,请在凭据的 Base64 编码前加上Basic
Authorization: Basic bmVvNGo6dmVyeXNlY3JldA==
承载者身份验证
使用承载者令牌进行身份验证的标头格式为
Authorization: Bearer <base64(token)>
示例 2. 承载者身份验证
要使用令牌xbhkjnlvianztghqwawxqfe
进行身份验证,首先对其进行 Base64 编码
eGJoa2pubHZpYW56dGdocXdhd3hxZmUK
如何对字符串进行 Base64 编码
要在 Linux 或 Mac 机器上对字符串进行 Base64 编码,请使用内置的base64
命令
echo -n "xbhkjnlvianztghqwawxqfe" | base64
要获取最终标头,请在凭据的 Base64 编码前加上Bearer
Authorization: Bearer eGJoa2pubHZpYW56dGdocXdhd3hxZmUK
错误
缺少授权
如果没有提供Authorization
标头(并且未禁用身份验证),则服务器将回复状态401 Forbidden
和错误。
示例请求
POST http://localhost:7474/db/neo4j/tx/commit
Accept: application/json;charset=UTF-8
Content-Type: application/json
示例响应
401: Unauthorized
Content-Type: application/json;charset=utf-8
{
"errors" : [ {
"code" : "Neo.ClientError.Security.Unauthorized",
"message" : "No authentication header supplied."
} ]
}
身份验证错误
如果提供的用户名或密码不正确,或者它们未能正确进行 Base64 编码,则服务器将回复状态401 Forbidden
和错误。
示例请求
POST http://localhost:7474/db/neo4j/tx/commit
Accept: application/json;charset=UTF-8
Authorization: Basic bmVvNGo6aW5jb3JyZWN0
Content-Type: application/json
示例响应
401: Unauthorized
Content-Type: application/json;charset=utf-8
{
"errors" : [ {
"code" : "Neo.ClientError.Security.Unauthorized",
"message" : "Invalid username or password."
} ]
}
无效的身份验证
如果Authorization
标头的内容未能正确进行 Base64 编码,则服务器将回复状态401 Forbidden
和错误。
示例请求
POST http://localhost:7474/db/neo4j/tx/commit
Accept: application/json;charset=UTF-8
Authorization: Basic not-proper-base64
Content-Type: application/json
示例响应
401: Unauthorized
Content-Type: application/json;charset=utf-8
{
"errors" : [ {
"code": "Neo.ClientError.Request.InvalidFormat",
"message": "Invalid authentication header."
} ]
}