Authentication
为 JSON-RPC API 建模身份验证方案,包括 Bearer、Basic 和 API Key 身份验证
OpenRPC 中的身份验证可以在服务器级别或方法级别进行配置,具体取决于您的 JSON-RPC 实现。与 REST API 不同,JSON-RPC 通常通过传输层(HTTP 头)或在 JSON-RPC 请求负载中处理身份验证。
HTTP 传输身份验证
当使用 HTTP 作为 JSON-RPC 的传输方式时,您可以使用标准的 HTTP 身份验证方案。
Bearer token 身份验证
为基于 HTTP 的 JSON-RPC 配置 bearer token 身份验证:
openrpc.yml
这会生成需要 token 的 SDK 方法:
API Key 身份验证
配置 API Key 身份验证:
openrpc.yml
在 SDK 中的使用方式:
Basic 身份验证
配置 Basic 身份验证:
openrpc.yml
在 SDK 中的使用方式:
方法级别的身份验证
一些 JSON-RPC 实现可能需要为特定方法使用不同的身份验证:
openrpc.yml
WebSocket 身份验证
对于 WebSocket 传输,身份验证通常在连接建立过程中进行:
openrpc.yml
自定义身份验证参数
对于在请求负载内处理身份验证的 JSON-RPC API:
openrpc.yml
Fern 身份验证扩展
使用 Fern 扩展来自定义身份验证行为:
openrpc.yml
这允许用户通过环境变量或构造函数参数设置身份验证,使 SDK 更加灵活和安全。
身份验证的错误处理
为身份验证失败定义标准化的错误响应:
openrpc.yml
这些错误代码遵循 JSON-RPC 2.0 约定,同时为 API 消费者提供清晰的身份验证反馈。