- pass token on video connect
This commit is contained in:
parent
0e8ec5f3b4
commit
4e8f2abbb3
@ -297,6 +297,10 @@ class ReceivedJsonMsgHandlerActor(
|
|||||||
case CreateGroupChatReqMsg.NAME =>
|
case CreateGroupChatReqMsg.NAME =>
|
||||||
routeGenericMsg[CreateGroupChatReqMsg](envelope, jsonNode)
|
routeGenericMsg[CreateGroupChatReqMsg](envelope, jsonNode)
|
||||||
|
|
||||||
|
case ValidateConnAuthTokenSysMsg.NAME =>
|
||||||
|
println("************** RECEIVED ValidateConnAuthTokenSysMsg.NAME")
|
||||||
|
routeGenericMsg[ValidateConnAuthTokenSysMsg](envelope, jsonNode)
|
||||||
|
|
||||||
case _ =>
|
case _ =>
|
||||||
log.error("Cannot route envelope name " + envelope.name)
|
log.error("Cannot route envelope name " + envelope.name)
|
||||||
// do nothing
|
// do nothing
|
||||||
|
@ -128,4 +128,15 @@ case class CheckAlivePongSysMsgBody(system: String, timestamp: Long)
|
|||||||
object RecordingChapterBreakSysMsg { val NAME = "RecordingChapterBreakSysMsg" }
|
object RecordingChapterBreakSysMsg { val NAME = "RecordingChapterBreakSysMsg" }
|
||||||
case class RecordingChapterBreakSysMsg(header: BbbCoreHeaderWithMeetingId,
|
case class RecordingChapterBreakSysMsg(header: BbbCoreHeaderWithMeetingId,
|
||||||
body: RecordingChapterBreakSysMsgBody) extends BbbCoreMsg
|
body: RecordingChapterBreakSysMsgBody) extends BbbCoreMsg
|
||||||
case class RecordingChapterBreakSysMsgBody(meetingId: String, timestamp: Long)
|
case class RecordingChapterBreakSysMsgBody(meetingId: String, timestamp: Long)
|
||||||
|
|
||||||
|
object ValidateConnAuthTokenSysMsg { val NAME = "ValidateConnAuthTokenSysMsg" }
|
||||||
|
case class ValidateConnAuthTokenSysMsg(header: BbbClientMsgHeader,
|
||||||
|
body: ValidateConnAuthTokenSysMsgBody) extends StandardMsg
|
||||||
|
case class ValidateConnAuthTokenSysMsgBody(meetingId: String, userId: String, authToken: String, conn: String)
|
||||||
|
|
||||||
|
object ValidateConnAuthTokenSysRespMsg { val NAME = "ValidateConnAuthTokenSysRespMsg" }
|
||||||
|
case class ValidateConnAuthTokenSysRespMsg(header: BbbCoreHeaderWithMeetingId,
|
||||||
|
body: ValidateConnAuthTokenSysRespMsgBody) extends BbbCoreMsg
|
||||||
|
case class ValidateConnAuthTokenSysRespMsgBody(meetingId: String, userId: String,
|
||||||
|
authToken: String, conn: String, authzed: Boolean)
|
@ -88,13 +88,18 @@ public class VideoApplication extends MultiThreadedApplicationAdapter {
|
|||||||
params = new Object[2];
|
params = new Object[2];
|
||||||
params[0] = "UNKNOWN-MEETING-ID";
|
params[0] = "UNKNOWN-MEETING-ID";
|
||||||
params[1] = "UNKNOWN-USER-ID";
|
params[1] = "UNKNOWN-USER-ID";
|
||||||
|
params[2] = "UNKNOWN-AUTH-TOKEN";
|
||||||
}
|
}
|
||||||
|
|
||||||
String meetingId = ((String) params[0]).toString();
|
String meetingId = ((String) params[0]).toString();
|
||||||
String userId = ((String) params[1]).toString();
|
String userId = ((String) params[1]).toString();
|
||||||
|
String authToken = ((String) params[2]).toString();
|
||||||
|
|
||||||
Red5.getConnectionLocal().setAttribute("MEETING_ID", meetingId);
|
Red5.getConnectionLocal().setAttribute("MEETING_ID", meetingId);
|
||||||
Red5.getConnectionLocal().setAttribute("USERID", userId);
|
Red5.getConnectionLocal().setAttribute("USERID", userId);
|
||||||
|
Red5.getConnectionLocal().setAttribute("AUTH_TOKEN", authToken);
|
||||||
|
|
||||||
|
publisher.validateConnAuthToken(meetingId, userId, authToken);
|
||||||
|
|
||||||
String connType = getConnectionType(Red5.getConnectionLocal().getType());
|
String connType = getConnectionType(Red5.getConnectionLocal().getType());
|
||||||
String sessionId = Red5.getConnectionLocal().getSessionId();
|
String sessionId = Red5.getConnectionLocal().getSessionId();
|
||||||
|
@ -8,6 +8,9 @@ import java.util.HashMap;
|
|||||||
import java.util.Map;
|
import java.util.Map;
|
||||||
|
|
||||||
import com.google.gson.Gson;
|
import com.google.gson.Gson;
|
||||||
|
import org.bigbluebutton.common2.msgs.BbbClientMsgHeader;
|
||||||
|
import org.bigbluebutton.common2.msgs.ValidateConnAuthTokenSysMsg;
|
||||||
|
import org.bigbluebutton.common2.msgs.ValidateConnAuthTokenSysMsgBody;
|
||||||
|
|
||||||
public class MessagePublisher {
|
public class MessagePublisher {
|
||||||
|
|
||||||
@ -16,7 +19,20 @@ public class MessagePublisher {
|
|||||||
public void setMessageSender(MessageSender sender) {
|
public void setMessageSender(MessageSender sender) {
|
||||||
this.sender = sender;
|
this.sender = sender;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public void validateConnAuthToken(String meetingId, String userId, String authToken) {
|
||||||
|
BbbClientMsgHeader header = new BbbClientMsgHeader("ValidateConnAuthTokenSysMsg", meetingId, userId);
|
||||||
|
ValidateConnAuthTokenSysMsgBody body = new ValidateConnAuthTokenSysMsgBody(meetingId,
|
||||||
|
userId, authToken, "VIDEO");
|
||||||
|
ValidateConnAuthTokenSysMsg msg = new ValidateConnAuthTokenSysMsg(header, body);
|
||||||
|
Gson gson = new Gson();
|
||||||
|
String json = gson.toJson(msg);
|
||||||
|
|
||||||
|
System.out.println("**** SENDING " + json);
|
||||||
|
|
||||||
|
sender.send("to-akka-apps-redis-channel", json);
|
||||||
|
}
|
||||||
|
|
||||||
// Polling
|
// Polling
|
||||||
public void userSharedWebcamMessage(String meetingId, String userId, String streamId) {
|
public void userSharedWebcamMessage(String meetingId, String userId, String streamId) {
|
||||||
UserSharedWebcamMessage msg = new UserSharedWebcamMessage(meetingId, userId, streamId);
|
UserSharedWebcamMessage msg = new UserSharedWebcamMessage(meetingId, userId, streamId);
|
||||||
|
@ -79,6 +79,8 @@ public class MessageSender {
|
|||||||
public void run() {
|
public void run() {
|
||||||
Jedis jedis = redisPool.getResource();
|
Jedis jedis = redisPool.getResource();
|
||||||
try {
|
try {
|
||||||
|
|
||||||
|
System.out.println("**** PUBLISH TO " + channel + " msg=" + message);
|
||||||
jedis.publish(channel, message);
|
jedis.publish(channel, message);
|
||||||
} catch(Exception e){
|
} catch(Exception e){
|
||||||
log.warn("Cannot publish the message to redis", e);
|
log.warn("Cannot publish the message to redis", e);
|
||||||
|
@ -154,7 +154,8 @@ package org.bigbluebutton.main.model
|
|||||||
|
|
||||||
var curTime:Number = new Date().getTime();
|
var curTime:Number = new Date().getTime();
|
||||||
// Create connection with the server.
|
// Create connection with the server.
|
||||||
nc.connect( this.baseURI, "portTestMeetingId-" + curTime, "portTestDummyUserId-" + curTime);
|
nc.connect( this.baseURI, "portTestMeetingId-" + curTime,
|
||||||
|
"portTestDummyUserId-" + curTime, "portTestDummyToken-" + curTime);
|
||||||
status = "Connecting...";
|
status = "Connecting...";
|
||||||
} catch( e : ArgumentError ) {
|
} catch( e : ArgumentError ) {
|
||||||
// Invalid parameters.
|
// Invalid parameters.
|
||||||
|
@ -29,14 +29,13 @@ package org.bigbluebutton.modules.videoconf.business
|
|||||||
import flash.media.H264VideoStreamSettings;
|
import flash.media.H264VideoStreamSettings;
|
||||||
import flash.net.NetConnection;
|
import flash.net.NetConnection;
|
||||||
import flash.net.NetStream;
|
import flash.net.NetStream;
|
||||||
|
|
||||||
import org.as3commons.logging.api.ILogger;
|
import org.as3commons.logging.api.ILogger;
|
||||||
import org.as3commons.logging.api.getClassLogger;
|
import org.as3commons.logging.api.getClassLogger;
|
||||||
import org.bigbluebutton.core.BBB;
|
import org.bigbluebutton.core.BBB;
|
||||||
import org.bigbluebutton.core.Options;
|
import org.bigbluebutton.core.Options;
|
||||||
import org.bigbluebutton.core.UsersUtil;
|
import org.bigbluebutton.core.UsersUtil;
|
||||||
import org.bigbluebutton.core.managers.ReconnectionManager;
|
import org.bigbluebutton.core.managers.ReconnectionManager;
|
||||||
import org.bigbluebutton.main.api.JSLog;
|
import org.bigbluebutton.core.model.LiveMeeting;
|
||||||
import org.bigbluebutton.main.events.BBBEvent;
|
import org.bigbluebutton.main.events.BBBEvent;
|
||||||
import org.bigbluebutton.modules.videoconf.events.ConnectedEvent;
|
import org.bigbluebutton.modules.videoconf.events.ConnectedEvent;
|
||||||
import org.bigbluebutton.modules.videoconf.events.StartBroadcastEvent;
|
import org.bigbluebutton.modules.videoconf.events.StartBroadcastEvent;
|
||||||
@ -82,7 +81,8 @@ package org.bigbluebutton.modules.videoconf.business
|
|||||||
}
|
}
|
||||||
|
|
||||||
public function connect():void {
|
public function connect():void {
|
||||||
nc.connect(_url, UsersUtil.getInternalMeetingID(), UsersUtil.getMyUserID());
|
nc.connect(_url, UsersUtil.getInternalMeetingID(),
|
||||||
|
UsersUtil.getMyUserID(), LiveMeeting.inst().me.authToken);
|
||||||
}
|
}
|
||||||
|
|
||||||
private function onAsyncError(event:AsyncErrorEvent):void{
|
private function onAsyncError(event:AsyncErrorEvent):void{
|
||||||
|
Loading…
Reference in New Issue
Block a user