サーバー間OAuth

APIリクエストを行う際は、WhoisXML APIとの認証にサーバー間OAuthを使用してください。これは、 認証や承認の際にユーザーの操作を必要としない2段階のプロセスフローを採用しているため、 「ツーレッグOAuth」とも呼ばれます。そのフローは以下の通りです。

  • サーバー間OAuthクライアントは、WhoisXML API認証サーバーにアクセストークンの発行をリクエストします。
  • クライアントは、アクセス トークンを使用して API リクエストを送信します。

また、GitHubにあるこのスクリプトを参照すれば、サーバーサイドSSOでWHOIS APIを使用する方法の例を確認できます。

アクセストークンを生成する

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

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

生成された accessTokenapiKey パラメータの代わりに使用されることにご注意ください。

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キー。

認証方式:Bearer。

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

入力パラメータ

助成金の種類

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

有効な値:access_token

有効期限

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

有効な値:18003600720010800

デフォルト: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"
    }'