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:

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):

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:

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. Das expire_time Der Wert muss, sofern angegeben, innerhalb von 30 Tagen nach dem Erstellungszeitpunkt liegen.