認証

API 利用時の認証について

WebAPIを利用するには事前に認証に関する情報を申請し、それに応じた適切なクエリパラメータ及びHTTPヘッダを付加してAPIを実行する必要があります。
認証がエラーとなった場合はAPIを利用することができません。

使用する認証方式

WebAPIで使用する認証方式は以下の2種類となります。

OAuth認証

OAuth認証(2-legged)を使用する場合はZDCより「クライアントID」と「秘密鍵」が発行されます。
これらを用いてOAuth署名を利用者側で生成し、API実行時に付加することで認証を行います。
OAuth署名の生成手順についてはこちらをご参照ください

OAuth認証使用時に必要となるクエリパラメータを以下に記載します。

if_clientid ZDCから発行されたクライアントIDを設定します
if_auth_type 使用する認証方式を指定します。
OAtuh認証使用時は"oauth"を指定します。

上記に加え、OAuthパラメータを付加する必要があります。
このパラメータはHTTP Authorizationヘッダと通常のクエリパラメータどちらでも指定可能です

oauth_consumer_key ZDCから発行されたクライアントIDを設定します
oauth_signature_method ”HMAC-SHA1” 固定
oauth_signature リクエストURIより生成したOAuth署名。Oauth署名の生成手順についてはこちらをご参照ください
oauth_timestamp 現在時刻のUNIXタイムスタンプを設定してください
oauth_nonce リクエスト毎に一意なランダム値を設定してください
oauth_version ”1.0” 固定

OAuth署名認証リクエストの動作確認用テストフォームはこちらをご利用ください。

IP認証

I/F利用申請時、ZDCより利用者に対して「クライアントID」が発行されます。この「クライアントID」に対してI/F利用者のIPアドレスが登録されます。
ここで設定したIPアドレスからのリクエストのみ認証が通ることになります。
設定されていないIPアドレスからのリクエストは認証エラーとなります。

リモートIP認証使用時に必要となるクエリパラメータを以下に記載します。

if_clientid ZDCから発行されたクライアントIDを設定します
if_auth_type 使用する認証方式を指定します。
IP認証使用時は"ip"を指定します。

認証エラー時

何らかの理由で認証エラーとなった時はHTTPステータス ”401 Unauthorized” が返却されます。
この場合、付加したパラメータが足りているか等、リクエスト内容に不備が無いかご確認ください。

また、OAuth認証で認証エラーとなった場合、レスポンスヘッダ ”WWW-Authenticate” が返却されます。
この内容を確認することで認証エラーとなった原因を特定できます

oauth_problem=signature_invalid 署名が一致しません。
署名生成手順や使用しているクライアントID、秘密鍵が正しいか確認してください
oauth_problem=consumer_key_unknown 指定 のconsumer_key がDBに存在しません。
”oauth_consumer_key"で指定したクライアントIDが正しいか確認してください
oauth_problem=parameter_absent&oauth_parameters_absent:[不足パラメータ名] 必要なパラメータが指定されていません.
全てのOAuthパラメータがリクエストに付加されているか確認してください
oauth_problem=timestamp_refused タイムスタンプの有効期限が切れています。
リクエスト時にしているoauth_timestampの時刻が古くなっています。