|
@@ -11,11 +11,22 @@ var StreamEventTypes = require("../../service/RTC/StreamEventTypes");
|
11
|
11
|
var RTCEvents = require("../../service/RTC/RTCEvents");
|
12
|
12
|
var XMPPEvents = require("../../service/xmpp/XMPPEvents");
|
13
|
13
|
var retry = require('retry');
|
|
14
|
+var RandomUtil = require("../util/RandomUtil");
|
14
|
15
|
|
15
|
16
|
var eventEmitter = new EventEmitter();
|
16
|
17
|
var connection = null;
|
17
|
18
|
var authenticatedUser = false;
|
18
|
19
|
|
|
20
|
+/**
|
|
21
|
+ * Utility method that generates user name based on random hex values.
|
|
22
|
+ * Eg. 12345678-1234-1234-12345678
|
|
23
|
+ * @returns {string}
|
|
24
|
+ */
|
|
25
|
+function generateUserName() {
|
|
26
|
+ return RandomUtil.random8digitsHex() + "-" + RandomUtil.random4digitsHex() + "-" +
|
|
27
|
+ RandomUtil.random4digitsHex() + "-" + RandomUtil.random8digitsHex();
|
|
28
|
+}
|
|
29
|
+
|
19
|
30
|
function connect(jid, password) {
|
20
|
31
|
|
21
|
32
|
var faultTolerantConnect = retry.operation({
|
|
@@ -296,7 +307,16 @@ var XMPP = {
|
296
|
307
|
configDomain = config.hosts.domain;
|
297
|
308
|
}
|
298
|
309
|
var jid = configDomain || window.location.hostname;
|
299
|
|
- connect(jid, null);
|
|
310
|
+ var password = null;
|
|
311
|
+ if (config.token) {
|
|
312
|
+ password = config.token;
|
|
313
|
+ if (config.id) {
|
|
314
|
+ jid = config.id + "@" + jid;
|
|
315
|
+ } else {
|
|
316
|
+ jid = generateUserName() + "@" + jid;
|
|
317
|
+ }
|
|
318
|
+ }
|
|
319
|
+ connect(jid, password);
|
300
|
320
|
},
|
301
|
321
|
createConnection: function () {
|
302
|
322
|
var bosh = config.bosh || '/http-bind';
|