ArcGIS Server サービスが ArcGIS トークンベース認証で保護されている場合、クライアント ソフトウェアはトークンを取得して使用する必要があります。ArcGIS Desktop や ArcGIS Pro などの 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 および ArcGIS Pro: ユーザーは接続ダイアログ ボックスに有効なユーザー名とパスワードを指定します。 ユーザー名とパスワードが指定されていない場合やログイン情報が正確でない場合は、正確な認証情報を入力するよう求められます。
- ArcGIS API for JavaScript: クライアントは、トークンを必要とするサービスにアクセスするために、トークンを提供できる必要があります。ほとんどの場合、クライアント側の JavaScript にサービスのユーザー名とパスワードを埋め込むことは適切ではありません。代わりに、トークン サーバーから長期トークンを取得して、このトークンをクライアント側のページに含めることができます。トークンはサービスのリクエストに含まれます。トークンの取得方法については、「ArcGIS トークンの取得」をご参照ください。トークンベースのリソースのリクエストについては、適切な API ヘルプをご参照ください。
- SOAP ベースのアプリケーション: SOAP ツールキットを使用して GIS Web サービスの WSDL にアクセスするアプリケーションは、明示的にトークンを取得して使用する必要があります。
- ArcGIS Web Applications (Java または Microsoft .NET): Web アプリケーションは、ArcGIS Web Applications Manager または開発環境にすでに入力されている認証情報を使用します。