服务器到服务器 OAuth

使用服务器到服务器的 OAuth 协议,通过 WhoisXML API 进行身份验证,以发起 API 请求。这也被称为双腿 OAuth,因为它采用两步流程,无需用户交互即可进行身份验证或授权。流程如下。

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

您还可以查看GitHub 上的这个脚本,了解如何将 WHOIS API 与服务器端 SSO 结合使用。

生成访问令牌

使用accessToken授权类型生成访问令牌。此授权类型具有以下特点:

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

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

API 端点

邮政 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密钥。

认证方案:持有者。

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

输入参数

授权类型

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

可接受的值: access_token

过期时间

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

可接受 1800、3600、7200、10800

默认值: 3600

输出格式

可选。响应输出格式。

可接受的值: JSON | XML

默认值: JSON

回复

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

使用响应中的accessToken值来验证您的 API 请求。将生成的值替换到apiKey字段中,就像使用普通 API 密钥一样(无需 OAuth)。

错误

{
    "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"
    }'