概要
ArcGIS Server の認証情報(トークン)は、ArcGIS Server の REST API を使用することで、プログラムから取得することができます。
ここでは、JavaScript を使用して、Web ブラウザーから ArcGIS Server のトークンを取得する方法をご紹介します。
サンプル コードでは、以下の処理を行います。
-
ログイン情報の送信
ArcGIS Server Administrator Directory 内にある Generate Token ページ(http://<ServerName>:<Port>/arcgis/admin/generateToken)を使用します。ここにログイン情報を送信すると、トークンが返されます。形式は HTML と JSON から選択できますが、プログラムから取得する場合は JSON を選択します。詳細については こちらのリンク をご覧ください。

-
認証情報(トークン)の取得
返されたトークンを取得し、ブラウザー コンソールへ書き出します。
サンプル コード
var xhr = new XMLHttpRequest();
// アプリケーションの設定 ※必要に応じて変更します
var settings = {
baseURL: "http://localhost:6080/arcgis/admin",
token: "",
};
// 送信データの設定 ※必要に応じて変更します
var SendData = {
username: "siteadmin",
password: "siteadmin",
client: "referer",
referer: location.href,
expiration: 60,
f: "pjson"
}
// [実行]ボタンの設定 ※必要に応じて変更します
var button = document.getElementById("button");
button.addEventListener("click", GetToken);
// 送信データを URL エンコードする
function EncodeHTMLForm() {
var params = [];
for (var name in SendData) {
var value = SendData[name];
var param = encodeURIComponent(name) + '=' + encodeURIComponent(value);
params.push(param);
}
return params.join('&').replace(/%20/g, '+');
}
// トークンを取得する
function GetToken() {
// リクエストが成功した後の動作を設定
xhr.onreadystatechange = function() {
if (xhr.readyState == 4 && xhr.status == 200) {
// 取得したデータを JSON パースし、取得したトークンを既存のオブジェクト settings.token に設定
settings.token = JSON.parse(xhr.response).token;
};
}
// *****トークン取得 URL へ POST メソッドでリクエストを出す*****
xhr.open("POST", settings.baseURL + "/generateToken", false);
xhr.setRequestHeader("Content-type", "application/x-www-form-urlencoded"); //リクエストヘッダの設定
xhr.send(EncodeHTMLForm()); // データを送信する
WriteToken(); // 取得したトークンをコンソールへ書き出して終了
};
// 取得したトークンをコンソールへ書き出す関数
function WriteToken() {
console.log("Token:", settings.token)
};
このナレッジはお役に立ちましたか?
フィードバックをいただきありがとうございます!