Suggestions

close search

Add Messaging, Voice, and Authentication to your apps with Vonage Communications APIs

Visit the Vonage API Developer Portal
Developer Documentation moved on August 7, 2026. Future updates are available only at → https://developer.vonage.com/en/opentok/overview

Connection Token Creation — Ruby

In order to authenticate a user connecting to an OpenTok session, a client must connect using a token (see this overview).

The following example shows how to generate a token using the OpenTok Ruby server-side library:

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

Calling the generate_token() method returns a string. This string is the token.

You can also generate a token by calling the generate_token() method of the Session object (returned by the opentok.create_session() method):

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

The following example shows how to obtain a token that has a role of "publisher" and that has a connection metadata string:

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

The method takes the following options: