接続トークンの作成 — Ruby

OpenTokセッションに接続するユーザーを認証するには、クライアントはトークンを使用して接続する必要があります(参照: この概要).

以下の例は、OpenTokのRubyサーバーサイドライブラリを使用してトークンを生成する方法を示しています:

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

を呼び出す。 generate_token() このメソッドは文字列を返します。この文字列がトークンです。

また、以下の関数を呼び出すことでトークンを生成することもできます。 generate_token() Session オブジェクトのメソッド(によって返される opentok.create_session() メソッド):

opentok = OpenTok::OpenTok.new api_key, api_secret
session = opentok.create_session
token = session.generate_token

次の例は、「publisher」というロールを持ち、接続メタデータ文字列を含むトークンを取得する方法を示しています:

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

このメソッドでは、以下のオプションを指定できます:

  • role (シンボル) — 省略可能。これは、ユーザーが持つ役割を定義します。役割には、「サブスクライバー」、「パブリッシャー」、「モデレーター」の3つがあります。サブスクライバーは、セッション内のストリームを購読することしかできません(配信はできません)。 パブリッシャーは、セッションへのストリームの購読および配信が可能で、シグナリングAPIも使用できます。モデレーターはパブリッシャーと同様の権限を持ち、さらに他のユーザーに対してセッションからの切断や配信の中止を強制することもできます。値が指定されていない場合のデフォルトの役割はパブリッシャーです。
  • data (文字列) — 省略可能。接続に関するメタデータを含む文字列です。たとえば、ユーザー ID や名前、あるいは接続に関するその他のデータを渡すことができます。このデータは、Applications に応じて、サーバー側のデータベースから取得するか、クライアントから提供されたデータから取得することができます。
  • expire_time (int) — 省略可能。トークンの有効期限。Unix タイムスタンプ(秒単位)の整数値として指定します。この値を指定しない場合、トークンは作成から 24 時間後に失効します。 expire_time 値が指定されている場合、その値は作成日時から30日以内である必要があります。