Продление токенов Agora: комплексное руководство по продлению срока действия токена

В мире разработки программного обеспечения и интеграции API токены обычно используются для целей аутентификации и авторизации. Токены Agora не являются исключением. Эти токены обеспечивают безопасный доступ к мощным службам связи Agora в режиме реального времени, но у них есть срок действия. В этом сообщении блога мы рассмотрим различные способы продления токенов Agora, обеспечивая бесперебойный доступ к их услугам.

Метод 1: обновление токена на стороне сервера с использованием Agora SDK

Одним из распространенных подходов является реализация обновления токенов на стороне сервера с использованием SDK Agora. Этот метод предполагает создание нового токена на сервере до истечения срока действия существующего токена и предоставление его клиенту. Давайте рассмотрим пример с использованием Node.js и Agora SDK для Node.js:

const agora = require('agora-access-token');
// Generate a new token
const renewalToken = agora.RtcTokenBuilder.buildTokenWithAccount(
  '<YOUR_APP_ID>',
  '<YOUR_APP_CERTIFICATE>',
  '<USER_ACCOUNT>',
  agora.RtcRole.PUBLISHER,
  <TOKEN_EXPIRATION_TIME>
);
// Send the new token to the client
// ... (implementation varies based on your server architecture)

Метод 2. Обновление токена на стороне клиента с помощью токенов обновления

Другой подход — использовать токены обновления на стороне клиента для обновления токенов Agora без участия сервера. Токены обновления — это долгосрочные токены, которые можно использовать для получения новых недолговечных токенов. Вот пример использования JavaScript и гипотетического refreshToken:

function renewToken(refreshToken) {
  // Send the refresh token to your server
  // ... (implementation varies based on your server architecture)
  // Server generates a new Agora token using the refresh token
  const newToken = generateTokenWithRefreshToken(refreshToken);
  // Use the new token for Agora API calls
  AgoraRTC.init('<YOUR_APP_ID>');
  AgoraRTC.joinChannel(newToken, '<CHANNEL_NAME>', null, (uid) => {
    console.log('Joined channel with renewed token');
  });
}

Метод 3. Обновление токена с использованием Agora RESTful API

Agora предоставляет RESTful API, который позволяет программно генерировать токены. Вы можете использовать этот API для обновления токенов по требованию. Вот пример использования cURL:

curl -X POST \
  -H 'Content-Type: application/json' \
  -H 'Authorization: Basic <YOUR_API_KEY>' \
  -d '{
    "app_id": "<YOUR_APP_ID>",
    "uid": "<USER_ID>",
    "expire": <TOKEN_EXPIRATION_TIME>
  }' \
  https://api.agora.io/v1/token

Обновление токенов Agora имеет решающее значение для обеспечения бесперебойного доступа к услугам связи Agora в режиме реального времени. В этой статье мы рассмотрели три метода: обновление токена на стороне сервера с использованием Agora SDK, обновление токена на стороне клиента с помощью токенов обновления и обновление токена с использованием RESTful API Agora. Каждый метод обеспечивает гибкость в зависимости от требований вашего приложения. Внедрив эти методы, вы можете продлить срок действия токенов Agora и обеспечить беспрепятственное общение с вашими пользователями в режиме реального времени.