Erstellung eines Verbindungstokens — Node.js
Um einen Benutzer zu authentifizieren, der eine Verbindung zu einer OpenTok-Sitzung herstellt, muss ein Client die Verbindung mithilfe eines Tokens herstellen (siehe diese Übersicht).
Der folgende Node.js-Code zeigt, wie man mithilfe der serverseitigen OpenTok-Bibliothek für Node.js ein Token generiert:
Kopieren
// Set the following constants with the API key and API secret
// that you receive when you sign up to use the OpenTok API:
var opentok = new OpenTok(API_KEY, API_SECRET);
//Generate a basic session. Or you could use an existing session ID.
var sessionId;
opentok.createSession({}, function(error, session) {
if (error) {
console.log("Error creating session:", error)
} else {
sessionId = session.sessionId;
console.log("Session ID: " + sessionId);
}
});
var token = opentok.generateToken(sessionId);
Aufrufen der generateToken() Die Methode gibt eine Zeichenkette zurück. Diese Zeichenkette ist das Token.
Der folgende Node.js-Code zeigt, wie man ein Token abruft, das die Rolle „publisher“ hat und eine Metadatenzeichenfolge für die Verbindung enthält:
Kopieren
// Set the following constants with the API key and API secret
// that you receive when you sign up to use the OpenTok API:
var opentok = new OpenTok(API_KEY, API_SECRET);
//Generate a basic session. Or you could use an existing session ID.
var sessionId;
var token
opentok.createSession({}, function(error, session) {
if (error) {
console.log("Error creating session:", error)
} else {
sessionId = session.sessionId;
console.log("Session ID: " + sessionId);
// Use the role value appropriate for the user:
var tokenOptions = {};
tokenOptions.role = "publisher";
tokenOptions.data = "username=bob";
// Generate a token.
token = opentok.generateToken(sessionId, tokenOptions);
console.log(token);
}
});
}
Die Methode nimmt die folgenden Argumente entgegen:
sessionId(Zeichenkette) — Die Sitzungs-ID der Sitzung, mit der sich der Benutzer verbinden wird.options(Objekt) — Ein Objekt, das optionale Einstellungen für das Token enthält:role(Zeichenkette) — Optional. Hiermit wird die Rolle des Benutzers festgelegt. Es gibt drei Rollen: „Abonnent“, „Veröffentlichender“ und „Moderator“. Abonnenten können nur Streams in der Sitzung abonnieren (sie können keine Streams veröffentlichen). Publisher können Streams in der Sitzung abonnieren und veröffentlichen sowie die Signaling-API nutzen. Moderatoren verfügen über die Berechtigungen von Publishern und können darüber hinaus andere Benutzer zwingen, die Verbindung zur Sitzung zu trennen oder die Veröffentlichung einzustellen. Die Standardrolle (sofern kein Wert übergeben wird) ist „Publisher“.data(Zeichenkette) — Optional. Eine Zeichenkette, die Metadaten zur Beschreibung der Verbindung enthält. Sie können beispielsweise die Benutzer-ID, den Namen oder andere Daten übergeben, die die Verbindung beschreiben. Diese Daten können Sie je nach Ihrer Anwendung aus einer serverseitigen Datenbank oder aus Daten beziehen, die Ihnen vom Client zur Verfügung gestellt werden.expireTime(Zahl) — Optional. Der Zeitpunkt, zu dem das Token abläuft, definiert als ganzzahliger Wert für einen Unix-Zeitstempel (in Sekunden). Wenn Sie diesen Wert nicht angeben, laufen die Token 24 Stunden nach ihrer Erstellung ab. Dasexpire_timeDer Wert muss, sofern angegeben, innerhalb von 30 Tagen nach dem Erstellungszeitpunkt liegen.