Erstellung eines Verbindungstokens — Java
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).
Das folgende Java-Codebeispiel zeigt, wie man mithilfe der serverseitigen OpenTok-Java-Bibliothek ein Token generiert:
Kopieren
import com.opentok.OpenTok;
import com.opentok.exception.OpenTokException;
class Test {
public static void main(String argv[]) throws OpenTokException {
// Set the following constants to your OpenTok API key and API secret.
// See /account/.
OpenTok opentok = new OpenTok(API_KEY, API_SECRET);
//Generate a basic session. Or you could use an existing session ID.
String sessionId = opentok.createSession().getSessionId();
String token = opentok.generateToken(sessionId);
System.out.println(token);
}
}
Aufrufen der generateToken() Die Methode gibt eine Zeichenkette zurück. Diese Zeichenkette ist das Token.
Das folgende Java-Code-Beispiel zeigt, wie man ein Token abruft, das die Rolle „publisher“ hat und eine Metadatenzeichenfolge für die Verbindung enthält:
Kopieren
import com.opentok.OpenTok;
import com.opentok.Role;
import com.opentok.TokenOptions;
import com.opentok.exception.OpenTokException;
class Test {
public static void main(String argv[]) throws OpenTokException {
// Set the following constants to your OpenTok API key and API secret.
// See /account/.
OpenTok opentok = new OpenTok(API_KEY, API_SECRET);
//Generate a basic session. Or you could use an existing session ID.
String sessionId = opentok.createSession().getSessionId();
// Replace with meaningful metadata for the connection.
String connectionMetadata = "username=Bob,userLevel=4";
// Generate a token. Use the Role value appropriate for the user.
TokenOptions tokenOpts = new TokenOptions.Builder()
.role(Role.MODERATOR)
.expireTime((System.currentTimeMillis() / 1000) + (7 * 24 * 60 * 60)) // in one week
.data(connectionMetadata)
.build());
String token = opentok.generateToken(sessionId, tokenOpts);
System.out.println(token);
}
}
Die Methode nimmt die folgenden Argumente entgegen:
sessionId(Zeichenkette) — Die Sitzungs-ID der Sitzung, mit der sich der Benutzer verbinden wird.tokenOptions(TokenOptions) — Optional. Ein Objekt, das Optionen für das Token definiert:- Die Rolle, die der Benutzer einnehmen wird. Es gibt drei Rollen: Abonnent, Veröffentlicher und Moderator. Abonnenten können lediglich Streams in der Sitzung abonnieren (sie können keine Inhalte veröffentlichen). Verleger können Streams in der Sitzung abonnieren und veröffentlichen und die Signalisierungs-API nutzen. Moderatoren verfügen über die Berechtigungen von Verlegern 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 „Verleger“.
- Verbindungsdaten – Eine Zeichenfolge, die Metadaten zur Beschreibung der Verbindung enthält. Sie können beispielsweise die Benutzer-ID, den Namen oder andere Daten zur Beschreibung der Verbindung übergeben. Je nach Ihrer Anwendung können Sie diese Daten aus einer serverseitigen Datenbank oder aus Daten beziehen, die Ihnen vom Client zur Verfügung gestellt werden.
- 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. Das
expire_timeDer Wert muss, sofern angegeben, innerhalb von 30 Tagen nach dem Erstellungszeitpunkt liegen.