FAQ
プログラムから ArcGIS Server の認証情報(トークン)を取得する方法

ナレッジ番号:5584 | 登録日:2023/07/27 | 更新日:2023/12/21

概要

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)
};
 
 
 

メタデータ

種類

製品