ArcGIS Web サービスが ArcGIS トークンベース認証で保護されている場合、クライアント ソフトウェアはトークンを取得して使用する必要があります。ArcGIS Desktop などの Esri クライアント アプリケーションは、トークン サービスからトークンを取得し、セキュリティで保護された ArcGIS Web サービスにトークンを送信するプロセスを、自動的に処理します。
GET リクエストにより、ArcGIS トークン ベース認証を使用してセキュリティ保護された Web サービスにアクセスするカスタム ArcGIS クライアント アプリケーションを構築する場合は、クエリ パラメーターではなく X-Esri-Authorization ヘッダーでトークンを送信することをお勧めします。これにより、プロキシ、ゲートウェイ、ロード バランサーなどのネットワーク上の中継機器がトークンを取得できないようにします。下記の HTTP GET リクエストの例では、X-Esri-Authorization ヘッダーでトークンを送信します。GET https://arcgis.mydomain.com/arcgis/rest/services/SampleWorldCities/MapServer?f=pjson HTTP/1.1
Host: arcgis.mydomain.com
X-Esri-Authorization: Bearer xMTuPSYpAbj85TVfbZcVU7td8bMBlDKuSVkM3FAx7zO1MYD0zDam1VR3Cm-ZbFo-
ArcGIS Server が Web 層認証 (IWA、HTTP BASIC、PKI など) ではなく ArcGIS Server 認証を使用している場合、X-Esri-Authorization ヘッダーの代わりに標準の HTTP Authorization ヘッダーを使用できます。GET https://arcgis.mydomain.com/arcgis/rest/services/SampleWorldCities/MapServer?f=pjson HTTP/1.1 Host: arcgis.mydomain.com
Authorization: Bearer xMTuPSYpAbj85TVfbZcVU7td8bMBlDKuSVkM3FAx7zO1MYD0zDam1VR3Cm-ZbFo-
トークンベースの認証を使用して保護された ArcGIS Web サービスに接続する際の、各 ArcGIS クライアントの動作を以下に示します。
- ArcGIS Desktop (ArcMap、ArcCatalog): ユーザーは接続ダイアログ ボックスに有効なユーザー名とパスワードを入力します。ユーザー名とパスワードが入力されていない場合、またはログイン情報が正しくない場合は、ソフトウェアがユーザーに正しい認証情報を要求します。
- JavaScript アプリケーション (ArcGIS API for JavaScript および他の REST ベースのアプリケーション): クライアントは、トークンを必要とするサービスにアクセスするためのトークンを提供できる必要があります。ほとんどの場合、クライアント側の JavaScript にサービスのユーザー名とパスワードを埋め込むことは適切ではありません。代わりに、トークン サーバーから長期トークンを取得して、このトークンをクライアント側のページに含めることができます。トークンはサービスのリクエストに含まれます。トークンの取得方法については、「ArcGIS トークンの取得」をご参照ください。トークンベースのリソースのリクエストについては、適切な API ヘルプをご参照ください。
- SOAP ベースのアプリケーション: SOAP ツールキットを使用して GIS Web サービスの WSDL にアクセスするアプリケーションは、明示的にトークンを取得して使用する必要があります。詳細と例については、ArcGIS Server 開発者ヘルプをご参照ください。
- ArcGIS Web Applications (Java または Microsoft .NET): Web アプリケーションは、あらかじめ ArcGIS Web Applications Manager または開発環境に入力された認証情報を使用します。