Server-to-Server OAuth | ドキュメント | Email Verification Bulk API | WhoisXML API

Server-to-Server OAuth

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

  • Server-to-server OAuthクライアントがWhoisXML APIの認証サーバーにアクセストークンをリクエストします。
  • クライアントはアクセストークンを使ってAPIリクエストを送信します。

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

アクセストークンの生成

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

  • トークンの有効時間は、1800秒(30分)、3600秒(1時間)、7200秒(2時間)、10800秒(3時間)のいずれかとなります。初期値は3600秒(1時間)です。
  • リフレッシュトークンはありません。
  • 複数のアクセストークンを生成して使用することができます。
  • 新しい API キーが生成されると、それまでに生成されたアクセストークンは全て無効になります。
  • 生成されたアクセストークンは、アクセス権のある全てのサービスで有効です。

生成された アクセストークンは、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キー。

認証スキーム:Bearer。

My productsページでAPIキーを取得してください。

入力パラメータ

grantType

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

使用可能な値:access_token

expiresIn

任意。アクセストークンの有効時間(秒)。

使用可能な値:18003600720010800

初期値:3600

outputFormat

任意。応答の出力形式。

使用可能な値:JSON | XML

初期値:JSON

応答

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

APIリクエストを認証するには、応答に含まれるaccessTokenの値を使用します。OAuthを使用しない通常のAPIキーと同様に、取得した値を apiKeyフィールドに代入します。

エラー

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