Table of Contents

Аутентификация облачного сервиса MegaTracker

В этой статье описано, как указать способ аутентификации, используемый MegaTracker при обращении к облачным сервисам.

Перед началом

Использование аутентификации API Key и API Secret

Этот способ подходит для традиционной проверки пары ключей. Нужно использовать APIKeyAccessData, чтобы создать объект access в MegaTrackerConfigs.

const apiKeyAccess = new mega.APIKeyAccessData(
    settings.MegaTrackerAppID, // AppID сервиса локализации Mega
    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.

Использование аутентификации API Token

Если сервер может периодически обновлять и выдавать APIToken (каждые несколько минут или часов), этот способ позволяет избежать прямого использования APISecret для подписи запросов локализации и является более безопасным. Способ обновления APIToken см. в разделе Создание и использование Token.

Можно настроить таймер на фронтенде для обновления Token в соответствии со сроком его действия.

Сначала используйте AppID библиотеки карт локализации Mega и адрес сервиса локализации из настроек, чтобы создать TokenAccessData.

Затем используйте созданный TokenAccessData, чтобы создать MegaTrackerConfigs.

Затем используйте MegaTrackerConfigs и licenseKey из конфигурации, чтобы создать SessionConfigs.

В конце используйте метод createSession(sessionConfigs) компонента EasyARMegaComponent, смонтированного в сцене xr-frame, чтобы создать session.

Когда Token истекает, необходимо вызвать updateToken(apiToken) для обновления. Иначе сервис Mega будет недоступен, а статус в результатах локализации всегда будет ApiTokenExpired.

const tokenAccess = new mega.TokenAccessData(
    settings.MegaTrackerAppID, // AppID сервиса локализации Mega
    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 для создания session с аутентификацией APIToken.