diff --git a/openvidu-server/src/main/java/io/openvidu/server/core/TokenGenerator.java b/openvidu-server/src/main/java/io/openvidu/server/core/TokenGenerator.java index 7aac70ab..a39101b0 100644 --- a/openvidu-server/src/main/java/io/openvidu/server/core/TokenGenerator.java +++ b/openvidu-server/src/main/java/io/openvidu/server/core/TokenGenerator.java @@ -47,6 +47,11 @@ public class TokenGenerator { token += "?sessionId=" + sessionId; token += "&token=" + IdentifierPrefixes.TOKEN_ID + RandomStringUtils.randomAlphabetic(1).toUpperCase() + RandomStringUtils.randomAlphanumeric(15); + + // REMOVE AFTER RELEASE 2.16.0 + token = compatibilityWithOpenViduBrowser2150(token, role); + // REMOVE AFTER RELEASE 2.16.0 + TurnCredentials turnCredentials = null; if (this.openviduConfig.isTurnadminAvailable()) { turnCredentials = coturnCredentialsService.createUser(); @@ -55,4 +60,24 @@ public class TokenGenerator { .data(serverMetadata).record(record).role(role).kurentoOptions(kurentoOptions).build(); return new Token(token, sessionId, connectionProperties, turnCredentials); } + + // REMOVE AFTER RELEASE 2.16.0 + private String compatibilityWithOpenViduBrowser2150(String token, OpenViduRole role) { + token += "&role=" + role.name(); + token += "&version=" + openviduBuildConfig.getOpenViduServerVersion(); + TurnCredentials turnCredentials = null; + if (this.openviduConfig.isTurnadminAvailable()) { + try { + turnCredentials = coturnCredentialsService.createUser(); + } catch (Exception e) { + e.printStackTrace(); + } + if (turnCredentials != null) { + token += "&coturnIp=" + openviduConfig.getCoturnIp(); + token += "&turnUsername=" + turnCredentials.getUsername(); + token += "&turnCredential=" + turnCredentials.getCredential(); + } + } + return token; + } }