我正在尝试使用OpenTok API进行 2 人视频聊天,但我不知道如何生成 asessionId
或 atoken
以及它们之间的区别。
我查看了提供的示例,但它们没有显示如何生成它们。因此,如果有人可以提供解释的示例,我将不胜感激。
我正在尝试使用OpenTok API进行 2 人视频聊天,但我不知道如何生成 asessionId
或 atoken
以及它们之间的区别。
我查看了提供的示例,但它们没有显示如何生成它们。因此,如果有人可以提供解释的示例,我将不胜感激。
SessionID 标识您要连接的视频聊天。许多人可以将视频流连接并发布到同一个会话。根据您的浏览器在该会话中订阅的视频流,您可以在会话中看到和听到其他人。因为您的应用程序控制谁可以发布和谁订阅谁,您可以在会话中创建各种视频聊天拓扑(例如 1:1、视频会议、脱口秀、安全摄像头等)。
令牌是一种安全/身份验证机制。当您启动与给定会话的连接时,您必须提供使用创建会话的相同凭据生成的令牌。如果其他站点设法获得您的 sessionId,则令牌可防止其他站点“崩溃”您创建的会话。
此外,当你生成一个令牌时,你可以赋予它一个角色,它告诉 OpenTok 基础设施允许哪些类型的操作。例如,您可以决定授予特定连接审核权限,方法是使用具有主持人角色的令牌启动该连接。
这是一个非常基本的示例,说明如何生成session ID
and token
:
<?php
require_once 'SDK/API_Config.php';
require_once 'SDK/OpenTokSDK.php';
$apiObj = new OpenTokSDK(API_Config::API_KEY, API_Config::API_SECRET);
$session = $apiObj->create_session($_SERVER["REMOTE_ADDR"]);
$sessionId = $session->getSessionId();
$token = $apiObj->generate_token($sessionId, "moderator");
?>
然后,您可以将这些值放入JS
代码中,如下所示:
<script type="text/javascript">
var apiKey = <?php echo API_Config::API_KEY; ?> ;
var sessionId = "<?php echo $sessionId; ?>";
var token = "<?php echo $token; ?>";
var session;
var publisher;
var subscribers = {};
session = TB.initSession(sessionId);
//Video chat event listeners
session.addEventListener('sessionConnected', sessionConnectedHandler);
session.addEventListener('streamCreated', streamCreatedHandler);
session.connect(apiKey, token);
</script>