Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

I cannot generate a token for a session_id that doesn't belong to api_key when implementing OpenTok?

I am trying to implement OpenTok in my rails 4 app, but I keep getting this error message:

Cannot generate token for a session_id that doesn't belong to api_key : 80056781

I followed the application trace, and the problem lies in the party method in the rooms controller. Which can be seen below.

 def party
   @room = Room.find(params[:id])
   @tok_token = @opentok.generate_token :session_id => @room.sessionId
 end 

It would be great if someone knew what the problem is. Thanks for your help.

like image 505
user14346436 Avatar asked Jan 29 '26 03:01

user14346436


1 Answers

I don't know which gem you are using... Using this opentok gem you can implement this service:

class OpenTokService

  def initialize(room)
    @room = room
    @opentok = OpenTok::OpenTok.new ENV["OPENTOK_API_KEY"], ENV["OPENTOK_API_SECRET"]
  end

  def generate_token
    create_session unless @room.session_id.present?
    role = :moderator #or :publisher
    @opentok.generate_token @room.session_id, {role: role}
  end

  def create_session
    tok_session = @opentok.create_session
    # save session_id on DB, Session never expires
    @room.update_attributes session_id: tok_session.session_id
  end

end

in your controller you can:

token = OpenTokService.new(@room).generate_token
like image 52
Leantraxxx Avatar answered Jan 31 '26 19:01

Leantraxxx