Erstellung eines Verbindungstokens — Ruby
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 Beispiel zeigt, wie man mit der serverseitigen OpenTok-Ruby-Bibliothek ein Token generiert:
Kopieren
class SampleController < ApplicationController
def action
# Replace with your OpenTok API key:
api_key = "your_API_key"
# Replace with your OpenTok API secret:
api_secret = "your_API_secret"
opentok = OpenTok::OpenTok.new api_key, api_secret
session = opentok.create_session
session_id = session.session_id
token = opentok.generate_token session_id
end
end
Aufrufen der generate_token() Die Methode gibt eine Zeichenkette zurück. Diese Zeichenkette ist das Token.
Sie können ein Token auch generieren, indem Sie die generate_token() Methode des Session-Objekts (zurückgegeben von der opentok.create_session() Methode):
Kopieren
opentok = OpenTok::OpenTok.new api_key, api_secret
session = opentok.create_session
token = session.generate_token
Das folgende Beispiel zeigt, wie man ein Token abruft, das die Rolle „publisher“ hat und eine Metadatenzeichenfolge für die Verbindung enthält:
Kopieren
class SampleController < ApplicationController
def action
# Replace with your OpenTok API key:
api_key = "your_API_key"
# Replace with your OpenTok API secret:
api_secret = "your_API_secret"
opentok = OpenTok::OpenTok.new api_key, api_secret
session = opentok.create_session
token = session.generate_token({
:role => :publisher,
:data => "username=bob"
})
end
end
Die Methode akzeptiert die folgenden Optionen:
role(Symbol) — Optional. Hiermit wird die Rolle des Benutzers festgelegt. Es gibt drei Rollen: Abonnent, Veröffentlichender und Moderator. Abonnenten können lediglich Streams in der Sitzung abonnieren (sie können keine Streams veröffentlichen). Verleger können Streams in der Sitzung abonnieren und veröffentlichen sowie 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“.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.expire_time(int) — 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.