サーバー間OAuth|ドキュメント|リバースDNS API|WhoisXML API

サーバー間OAuth

WhoisXMLのAPIでAPIリクエストを行う際に、サーバー間OAuthを使用して認証を行います。これは これは、認証や承認のためにユーザーとの対話を必要としない2段階のプロセスフローを使用するため、2本足のOAuthとしても知られています。 認証や認可を必要としません。以下がそのフローです。

  • サーバー間のOAuthクライアントは、WhoisXML API認証サーバーにアクセストークンを要求します。
  • クライアントはこのアクセストークンを使ってAPIリクエストを行います。

また、WHOIS APIをServer-Side SSOで使用する方法の例として、GitHubにあるこのスクリプトを確認することもできます。

アクセストークンの生成

を使用する。 アクセストークングラント・タイプを使用してアクセストークンを生成します。このグラント・タイプの特徴は以下のとおりです:

  • トークンの有効時間は、1800秒(30分)、3600秒(1時間)、7200秒(2時間)、10800秒(3時間)のいずれかである。デフォルトは3600秒(1時間)。
  • リフレッシュ・トークンはない。
  • 複数のアクセストークンを生成して使用することができます。
  • 新しいAPIキーが生成されると、以前に生成されたアクセストークンはすべて無効になる。
  • 生成されたアクセストークンは、アクセス権を持つすべての製品に対して有効です。

生成される アクセストークンの代わりに 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キー。

認証スキーム:ベアラ

マイプロダクトページで、APIキーを取得してください。

入力パラメータ

グラントタイプ

必須。アクセストークンを生成するためのグラントタイプ。

使用可能な値:access_token.

期限切れ

オプション。アクセストークンの有効期間(秒)。

使用可能な値:1800 , 3600 , 7200 , 10800.

デフォルト:3600

outputFormat

任意。応答の出力形式。

利用可能な値:JSON | XML

初期値:JSON

応答

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

を使用する。 を使用します。値を使用して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:ベアラ %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"
    }'