服务器到服务器的 OAuth

在发送 API 请求时,请使用服务器对服务器 OAuth 方式对 WhoisXML API 进行身份验证。这被称为“双端 OAuth”,因为它采用两步流程,在身份验证或授权过程中无需用户进行任何操作。具体流程如下。

  • 您的服务器对服务器 OAuth 客户端向 WhoisXML API 授权服务器请求访问口令牌。
  • 用户使用访问口令牌来发起 API 请求。

您还可以查看GitHub 上的这个脚本,了解如何在服务器端单点登录(SSO)中使用 WHOIS API 的示例。

生成访问口令牌

使用 accessToken 授权类型生成访问口令牌。该授权类型的特点如下:

  • 该令牌的有效期为 1800秒(30 分钟)、3600秒(1 小时)、7200秒(2 小时)或 10800秒(3 小时)。默认值为 3600 秒(1 小时)。
  • 没有刷新令牌。
  • 用户可生成并使用多个访问口令牌。
  • 生成新的 API 密钥后,所有之前生成的访问口令牌都将失效。
  • 生成的访问口令牌对用户有权访问的任何产品均有效。

请注意,生成的 accessToken 将代替 apiKey 参数。

API 端点

POST https://main.whoisxmlapi.com/oauth/token
curl --location 'https://main.whoisxmlapi.com/oauth/token' \
--header 'Authorization: Bearer %base64_encoded_API_key%' \
--header 'Content-Type: application/json' \
--data '{
    "grantType": "access_token",
    "expiresIn": 7200
}'

标题

授权

必填。Base64 编码的 API 密钥。

身份验证方案:Bearer。

请在“我的产品”页面获取个人的 API 密钥。

输入参数

grantType

必填。用于生成访问令牌的授权类型。

有效值:access_token。

expiresIn

选填。访问令牌的有效期(以秒为单位)。

有效值:1800、3600、7200、10800。

默认值:3600。

输出格式

选填。响应输出格式。

允许的值:JSON|XML

默认值:JSON

回应

{
    "accessToken": "G2OIE2AKRCVDYFUJCV5PXXXXXXXXXXXX",
    "expiresIn": 7200
}

使用 accessToken 值对您的 API 请求进行身份验证。将生成的值替换到 apiKey 字段中,操作方式与使用非 OAuth 模式下的普通 API 密钥相同。

错误

{
    "code": 401,
    "messages": "Access restricted. Check the credits balance or enter the correct API key."
}
{
    "code": 422,
    "messages": {
        "grantType": [
            "The selected grant type is invalid."
        ]
    }
}

使用访问令牌的 cURL WHOIS API GET 请求示例

curl --location 'https://www.whoisxmlapi.com/whoisserver/WhoisService?domainName=google.com' \
--header 'Authorization: Bearer %accessToken%'

使用访问口令牌的 cURL WHOIS API POST 请求示例

curl --location 'https://www.whoisxmlapi.com/whoisserver/WhoisService' \
    --header 'Content-Type: application/json' \
    --header 'Authorization: Bearer %accessToken%' \
    --data '{
        "domainName": "google.com"
    }'