📜  agora 令牌更新 - Javascript (1)

📅  最后修改于: 2023-12-03 14:39:03.404000             🧑  作者: Mango

Agora 令牌更新 - Javascript

如果您正在使用 Agora SDK 构建语音/视频应用程序,则可以使用 Agora 令牌系统确保您的应用程序安全连接并防止未经授权的访问。Agora 令牌系统允许您生成针对每个用户的独特令牌,这些令牌有助于验证用户身份,并使他们能够与 Agora 服务器进行通信。当一个用户使用错误的令牌尝试连接到 Agora 服务器时,Agora SDK 将拒绝该用户的连接。

在本文中,我们将讨论如何在使用 Agora SDK 的 Javascript 应用程序中更新令牌。我们将使用 Agora Web SDK 的示例代码,这些示例代码可帮助您更好地理解如何实现令牌更新。此外,我们还将探讨如何在 Agora 控制台上创建和管理令牌。

令牌概述

令牌是一种可以在 Agora 服务器和客户端之间进行安全通信的凭证。当客户端尝试与 Agora 服务器建立连接时,它必须提供一个有效的令牌。如果客户端提供的令牌无效,则 Agora SDK 将拒绝该客户端的连接。

您可以使用 Agora 控制台生成针对每个用户的独特令牌。为每个用户生成独特的令牌可以防止未经授权的访问,并可确保应用程序的安全连接。

如何创建和管理令牌

在使用 Agora SDK 之前,您需要在 Agora 控制台上创建一个应用程序。在控制台中创建应用程序后,您可以生成用于与 Agora 服务器安全通信的 App ID 和 App Certificate。有了这些信息,您就可以创建和管理令牌。

1. 在 Agora 控制台中创建一个新项目

首先,您需要登录 Agora Developer Console,并创建一个新项目。在控制台中单击 "新项目" 创建新项目。输入项目名称和描述,然后选择 "语音" 或 "视频" 类型。当您完成这些步骤后,单击 "创建项目"。

2. 生成 App ID 和 App Certificate

在创建成功后,您可以在应用程序的管理页面中找到 App ID 和 App Certificate。单击 "获取" 按钮后,您将获得一个包含这些信息的 JSON 文件。

3. 生成令牌

为了在您的应用程序中使用令牌,您需要使用 App ID、App Certificate、频道名称和用户 ID 来生成令牌。为了更好地了解如何生成令牌,请参见官方文档:https://docs.agora.io/cn/Agora%20Platform/token#%E4%BD%BF%E7%94%A8%E4%BB%A4%E7%89%8C

如何在 Javascript 应用程序中更新令牌

当您的应用程序中的用户接收到响应令牌无效的错误时,您需要更新令牌以确保用户可以继续与 Agora 服务器通信。

1. 引入 Agora Web SDK

首先,您需要在您的应用程序中引入 Agora Web SDK。您可以使用以下代码将其添加到您的 HTML 文件中。

<script src="https://cdn.agora.io/sdk/release/AgoraRTCSDK-3.5.0.js"></script>
2. 初始化 Agora SDK

在引入 Agora Web SDK 后,您需要初始化 Agora SDK。您可以通过调用 AgoraRTC.createClient() 方法来实现这一点。

var rtc = {
  // Agora SDK Client
  client: null,

  // Join a Channel
  join: function (option) {
    this.client.join(
      option.appId,
      option.channel,
      option.token,
      option.uid,
      function (uid) {
        console.log("User " + uid + " join channel successfully");
      },
      function (err) {
        console.error("Failed to join channel: ", err);
      }
    );
  },
};

// Initialize the Agora SDK client
rtc.client = AgoraRTC.createClient({ mode: "rtc", codec: "vp8" });

// Join the channel with your new token
rtc.join({
  appId: APP_ID,
  channel: CHANNEL_NAME,
  token: TOKEN,
  uid: USER_ID,
});

在上述代码中,我们使用 AgoraRTC.createClient() 方法来初始化 Agora SDK 客户端。然后,在 join() 方法中,我们向 Agora 服务器发出加入请求,并传递一个有效的令牌。

3. 如果令牌过期,请更新令牌

在某些情况下,令牌可能会过期或无效。如果用户尝试使用无效的令牌连接到 Agora 服务器,则您的应用程序需要更新令牌以确保用户可以继续与 Agora 服务器通信。

要更新令牌,请调用 rtc.client.renewToken() 方法。该方法接受一个新的令牌作为参数,并在成功更新令牌后调用回调函数。

function renewToken() {
  // Generate a new token to update the current one
  var newToken = generateToken();

  // Renew the token on the Agora client object
  rtc.client.renewToken(
    newToken,
    function () {
      console.log("Token renewed successfully");
    },
    function (err) {
      console.error("Failed to renew token: ", err);
    }
  );

  // Update your token variable
  TOKEN = newToken;
}

在上述代码中,我们定义了一个 renewToken() 函数,该函数生成一个新的令牌并使用 rtc.client.renewToken() 方法来更新当前令牌。如果更新成功,则调用回调函数并将您的令牌变量更新为新值。

结论

本文介绍了如何在使用 Agora Web SDK 的 Javascript 应用程序中更新令牌。我们探讨了如何创建和管理令牌,以及如何在 Agora 控制台上创建应用程序。然后,我们示范了如何使用 renewToken() 方法来更新令牌以确保用户可以继续与 Agora 服务器通信。如果您遇到更新令牌的问题,请确保查阅官方文档或咨询 Agora 支持团队。