接入前的准备

  1. 申请 OAuth Broker
    • 提供白名单、重定向 URL、标志、跨域域名。
    • 申请开通 Fast API 权限。
  2. IP 白名单设置
    • 联系负责的 BD 开通。
  3. 获取认证信息
    • 邮件中找到 ClientIDClient Secret
  4. 安装 OKX OpenSDK
    • 确保 SDK 已安装。
  5. 授权模式
    • 使用授权码接入模式(PKCE 不支持)。

接入指引

步骤一:第三方应用发起 OAuth 请求

  • 调用 OKX 提供的 SDK API,scope 参数需设置为 fast_api

代码示例:

const { OKEXOAuthSDK } = window;
if (OKEXOAuthSDK) {
    OKEXOAuthSDK.authorize({
        response_type: 'code',
        access_type: 'offline',
        client_id: 'YOUR_CLIENT_ID',
        redirect_uri: encodeURIComponent("https://example.com/oauth/callback"),
        scope: 'fast_api',
        state,
    });
} else {
    console.error('sdk has not been loaded');
}
image-nkpu.png

步骤二:用户登录授权后,获取授权码

  • OKX 将授权码发送到回调函数中,例如:
GET https://example.com/oauth/callback?code=AUTHORIZATION_CODE&state=STATE

步骤三:用授权码换取 Access Token

  • 使用授权码调用相关接口换取 access_token,结果示例如下:
{
    "access_token": "eyJhbGciOiJIUzUxMiIsImNpZCI6ImFh...",
    "token_type": "bearer",
    "expires_in": 3600
}

步骤四:请求创建 API Key 接口

  • 使用 access_token 请求创建 API Key。
  • 示例请求:
curl -H "Content-Type:application/json" \
-H "Authorization:Bearer YOUR_ACCESS_TOKEN" \
-d '{"label": "MyAPIKey", "passphrase": "YourPass123!", "perm": "read_only"}' \
https://www.okx.com/api/v5/users/oauth/apikey
  • 请求参数:

    • label:API Key 备注,必填。
    • passphrase:密码,必填,需符合复杂度要求。
    • perm:权限类型(如 read_onlytrade)。
  • 返回示例:

{
    "code": "0",
    "data": [
        {
            "label": "MyAPIKey",
            "apiKey": "xxxx",
            "secretKey": "xxx",
            "passphrase": "YourPass123!",
            "perm": "read_only",
            "bindApp": false
        }
    ]
}

步骤五:存储 API Key

  • 将返回的 API Key 信息存储,用于调用 OKX 接口。
  • 注意:Fast API 仅支持创建 API Key,编辑或删除需用户登录到 OKX 页面完成。

注意事项

  1. 每个 Broker 只能创建一个有效的 API Key。
  2. API Key 会自动绑定到白名单中的 IP 地址。