Megatracker クラウドサービス認証
この記事では、Megatracker がクラウドサービスを使用する際の認証方法の指定について説明します。
開始する前に
Use api key and api secret authentication
この方式は従来のキーペア認証に適しています。APIKeyAccessData を使用して MegaTrackerConfigs 内の access オブジェクトを構築する必要があります。
const apiKeyAccess = new mega.APIKeyAccessData(
settings.MegaTrackerAppID, // Mega ローカライゼーションサービス AppID
settings.MegaTrackerServerAddress, // Mega ローカライゼーションサービスアドレス
settings.EasyARAPIKey, // APIKey 文字列
settings.EasyARAPISecret // APISecret 文字列
);
const megaTrackerConfigs: easyar.MegaTrackerConfigs = {
access: apiKeyAccess
};
const sessionConfigs: easyar.SessionConfigs = {
megaTrackerConfigs: megaTrackerConfigs,
licenseKey: settings.EasyARLicenseKey
};
session = megaComponent.createSession(sessionConfigs);
この例では、まず設定のクラウドローカライゼーションライブラリ
appId、クラウドサービスserverAddress、クラウドサービスapiKeyおよびapiSecretを使用して APIKeyAccessData を作成しています。次に、作成した APIKeyAccessData を使用して MegaTrackerConfigs を作成しています。これは API Key と API Secret 認証を使用することを意味します。
Use api token authentication
サーバーで定期的(数分ごとまたは数時間ごと)に APIToken を更新および配布できる場合、この方式を使用すると、APISecret を直接使用してローカライゼーションリクエストに署名する必要がなくなり、より高いセキュリティを実現できます。APIToken の更新方法については、Tokenの作成と使用方法 を参照してください。
トークンの有効期間に基づいて、フロントエンドにタイマーを設定して更新することができます。
まず、設定の Mega ローカライゼーションライブラリ AppID とローカライゼーションサービスアドレスを使用して TokenAccessData を作成します。
次に、作成した TokenAccessData を使用して MegaTrackerConfigs を作成します。
次に、MegaTrackerConfigs と設定の licenseKey を使用して SessionConfigs を作成します。
最後に、xr-frame シーンにアタッチされた EasyARMegaComponent の createSession(sessionConfigs) メソッドを使用してセッションを作成します。
トークンが期限切れになった場合、updateToken(apiToken) を呼び出して更新する必要があります。そうしないと、Mega サービスが利用不可になり、ローカライゼーション結果のステータスが常に ApiTokenExpired になります。
const tokenAccess = new mega.TokenAccessData(
settings.MegaTrackerAppID, // Mega ローカライゼーションサービス AppID
settings.MegaTrackerServerAddress, // Mega ローカライゼーションサービスアドレス
"your_api_token" // APIToken 文字列
);
const megaTrackerConfigs: easyar.MegaTrackerConfigs = {
access: tokenAccess
};
const sessionConfigs: easyar.SessionConfigs = {
megaTrackerConfigs: megaTrackerConfigs,
licenseKey: settings.EasyARLicenseKey
};
session = megaComponent.createSession(sessionConfigs);
この例は、TokenAccessData を使用して MegaTrackerConfigs を作成し、この MegaTrackerConfigs を使用してセッションを作成し、
APIToken認証を使用する方法を示しています。