OpenTok:Was ist der Unterschied zwischen der Sitzung und dem Token?
-
27-10-2019 - |
Frage
Ich versuche, einen Video-Chat für zwei Personen zu erstellen OpenTok-API, aber ich habe keine Ahnung, wie man eine generiert sessionId
oder ein token
und was ist der Unterschied zwischen ihnen.
Ich habe mir die bereitgestellten Beispiele angesehen, aber sie zeigen nicht, wie man sie generiert.Daher würde ich mich freuen, wenn jemand ein Beispiel mit Erklärungen liefern könnte.
Lösung
Sitzungs-IDs identifizieren den Video-Chat, mit dem Sie eine Verbindung herstellen möchten.Viele Personen können Videostreams in derselben Sitzung verbinden und veröffentlichen.Sie sehen und hören andere Personen in einer Sitzung, basierend darauf, welche Videostreams Ihr Browser in dieser Sitzung abonniert hat.Da Ihre Anwendung steuert, wer wen veröffentlichen und wer abonnieren darf, können Sie in Ihrer Sitzung eine Vielzahl von Video-Chat-Topologien erstellen (z. B.1:1, Videokonferenz, Talkshow, Überwachungskamera usw.).
Token sind ein Sicherheits-/Authentifizierungsmechanismus.Wenn Sie eine Verbindung zu einer bestimmten Sitzung initiieren, müssen Sie ein Token bereitstellen, das mit denselben Anmeldeinformationen generiert wurde, mit denen die Sitzung erstellt wurde.Token verhindern, dass andere Websites eine von Ihnen erstellte Sitzung zum Absturz bringen, wenn es ihnen gelingt, an Ihre Sitzungs-ID zu gelangen.
Darüber hinaus können Sie einem Token beim Generieren eine Rolle zuweisen, die der OpenTok-Infrastruktur mitteilt, welche Arten von Aktionen zugelassen werden sollen.Sie können beispielsweise entscheiden, einer bestimmten Verbindung Moderationsrechte zu erteilen, indem Sie diese Verbindung mit einem Token initiieren, das die Moderatorrolle hat.
Andere Tipps
Hier ist ein sehr grundlegendes Beispiel dafür, wie man das generiert session ID
und 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");
?>
Sie können diese Werte dann in das fallen lassen JS
Code wie diesen:
<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>