在 json-rpc 网络服务上返回授权错误代码
Returning Auth Error code on a json-rpc web service
我正在实施基于 json-rpc 的 Web 服务。
对于身份验证,我使用 HTTP 基本身份验证。
根据 json-rpc 文档,此类错误没有错误代码。 https://www.jsonrpc.org/specification#error_object
我计划对无效授权案例做出如下回应,
{"jsonrpc": "2.0", "error": {"code": 401, "message": "Invalid Authentication"}, "id": null}
但我觉得这不是一个正确的实现方式。从 -32768 到 -32000 定义的所有 json-rpc 错误代码。代码 401 不在此范围内(因为它是一个 http 状态代码)。但是在
范围内也没有适合此类错误的代码
此类实施的最佳做法是什么。
根据 json-rpc 文档:
从-32768 到-32000 的错误代码保留给pre-defined 错误。此范围内的任何代码都保留供将来使用
以及 -32000 到 -32099 的代码保留给 implementation-defined server-errors.
所以我决定使用 -32001 来处理身份验证错误。并且 -32002 用于授权错误。
我正在实施基于 json-rpc 的 Web 服务。
对于身份验证,我使用 HTTP 基本身份验证。
根据 json-rpc 文档,此类错误没有错误代码。 https://www.jsonrpc.org/specification#error_object
我计划对无效授权案例做出如下回应,
{"jsonrpc": "2.0", "error": {"code": 401, "message": "Invalid Authentication"}, "id": null}
但我觉得这不是一个正确的实现方式。从 -32768 到 -32000 定义的所有 json-rpc 错误代码。代码 401 不在此范围内(因为它是一个 http 状态代码)。但是在
范围内也没有适合此类错误的代码此类实施的最佳做法是什么。
根据 json-rpc 文档:
从-32768 到-32000 的错误代码保留给pre-defined 错误。此范围内的任何代码都保留供将来使用
以及 -32000 到 -32099 的代码保留给 implementation-defined server-errors.
所以我决定使用 -32001 来处理身份验证错误。并且 -32002 用于授权错误。