|
|
@@ -427,67 +427,60 @@ Moderator.prototype.authenticate = function () {
|
|
427
|
427
|
});
|
|
428
|
428
|
};
|
|
429
|
429
|
|
|
430
|
|
-Moderator.prototype.getLoginUrl = function (urlCallback, failureCallback) {
|
|
|
430
|
+Moderator.prototype.getLoginUrl = function (urlCallback, failureCallback) {
|
|
|
431
|
+ this._getLoginUrl(/* popup */ false, urlCallback, failureCallback);
|
|
|
432
|
+};
|
|
|
433
|
+
|
|
|
434
|
+/**
|
|
|
435
|
+ *
|
|
|
436
|
+ * @param {boolean} popup false for {@link Moderator#getLoginUrl} or true for
|
|
|
437
|
+ * {@link Moderator#getPopupLoginUrl}
|
|
|
438
|
+ * @param urlCb
|
|
|
439
|
+ * @param failureCb
|
|
|
440
|
+ */
|
|
|
441
|
+Moderator.prototype._getLoginUrl = function (popup, urlCb, failureCb) {
|
|
431
|
442
|
var iq = $iq({to: this.getFocusComponent(), type: 'get'});
|
|
432
|
|
- iq.c('login-url', {
|
|
|
443
|
+ var attrs = {
|
|
433
|
444
|
xmlns: 'http://jitsi.org/protocol/focus',
|
|
434
|
445
|
room: this.roomName,
|
|
435
|
446
|
'machine-uid': this.settings.getUserId()
|
|
436
|
|
- });
|
|
|
447
|
+ };
|
|
|
448
|
+ var str = 'auth url'; // for logger
|
|
|
449
|
+ if (popup) {
|
|
|
450
|
+ attrs.popup = true;
|
|
|
451
|
+ str = 'POPUP ' + str;
|
|
|
452
|
+ }
|
|
|
453
|
+ iq.c('login-url', attrs);
|
|
|
454
|
+ /**
|
|
|
455
|
+ * Implements a failure callback which reports an error message and an error
|
|
|
456
|
+ * through (1) GlobalOnErrorHandler, (2) logger, and (3) failureCb.
|
|
|
457
|
+ *
|
|
|
458
|
+ * @param {string} errmsg the error messsage to report
|
|
|
459
|
+ * @param {*} error the error to report (in addition to errmsg)
|
|
|
460
|
+ */
|
|
|
461
|
+ function reportError(errmsg, err) {
|
|
|
462
|
+ GlobalOnErrorHandler.callErrorHandler(new Error(errmsg));
|
|
|
463
|
+ logger.error(errmsg, err);
|
|
|
464
|
+ failureCb(err);
|
|
|
465
|
+ }
|
|
437
|
466
|
this.connection.sendIQ(
|
|
438
|
467
|
iq,
|
|
439
|
468
|
function (result) {
|
|
440
|
469
|
var url = $(result).find('login-url').attr('url');
|
|
441
|
|
- url = url = decodeURIComponent(url);
|
|
|
470
|
+ url = decodeURIComponent(url);
|
|
442
|
471
|
if (url) {
|
|
443
|
|
- logger.info("Got auth url: " + url);
|
|
444
|
|
- urlCallback(url);
|
|
|
472
|
+ logger.info('Got ' + str + ': ' + url);
|
|
|
473
|
+ urlCb(url);
|
|
445
|
474
|
} else {
|
|
446
|
|
- var errmsg = "Failed to get auth url from the focus";
|
|
447
|
|
- GlobalOnErrorHandler.callErrorHandler(new Error(errmsg));
|
|
448
|
|
- logger.error(errmsg, result);
|
|
449
|
|
- failureCallback(result);
|
|
|
475
|
+ reportError('Failed to get ' + str + ' from the focus', result);
|
|
450
|
476
|
}
|
|
451
|
477
|
},
|
|
452
|
|
- function (error) {
|
|
453
|
|
- var errmsg = "Get auth url error";
|
|
454
|
|
- GlobalOnErrorHandler.callErrorHandler(new Error(errmsg));
|
|
455
|
|
- logger.error(errmsg, error);
|
|
456
|
|
- failureCallback(error);
|
|
457
|
|
- }
|
|
|
478
|
+ reportError.bind(undefined, 'Get ' + str + ' error')
|
|
458
|
479
|
);
|
|
459
|
480
|
};
|
|
460
|
481
|
|
|
461
|
482
|
Moderator.prototype.getPopupLoginUrl = function (urlCallback, failureCallback) {
|
|
462
|
|
- var iq = $iq({to: this.getFocusComponent(), type: 'get'});
|
|
463
|
|
- iq.c('login-url', {
|
|
464
|
|
- xmlns: 'http://jitsi.org/protocol/focus',
|
|
465
|
|
- room: this.roomName,
|
|
466
|
|
- 'machine-uid': this.settings.getUserId(),
|
|
467
|
|
- popup: true
|
|
468
|
|
- });
|
|
469
|
|
- this.connection.sendIQ(
|
|
470
|
|
- iq,
|
|
471
|
|
- function (result) {
|
|
472
|
|
- var url = $(result).find('login-url').attr('url');
|
|
473
|
|
- url = url = decodeURIComponent(url);
|
|
474
|
|
- if (url) {
|
|
475
|
|
- logger.info("Got POPUP auth url: " + url);
|
|
476
|
|
- urlCallback(url);
|
|
477
|
|
- } else {
|
|
478
|
|
- var errmsg = "Failed to get POPUP auth url from the focus";
|
|
479
|
|
- GlobalOnErrorHandler.callErrorHandler(new Error(errmsg));
|
|
480
|
|
- logger.error(errmsg, result);
|
|
481
|
|
- failureCallback(result);
|
|
482
|
|
- }
|
|
483
|
|
- },
|
|
484
|
|
- function (error) {
|
|
485
|
|
- var errmsg = "Get POPUP auth url error";
|
|
486
|
|
- GlobalOnErrorHandler.callErrorHandler(new Error(errmsg));
|
|
487
|
|
- logger.error(errmsg, error);
|
|
488
|
|
- failureCallback(error);
|
|
489
|
|
- }
|
|
490
|
|
- );
|
|
|
483
|
+ this._getLoginUrl(/* popup */ true, urlCallback, failureCallback);
|
|
491
|
484
|
};
|
|
492
|
485
|
|
|
493
|
486
|
Moderator.prototype.logout = function (callback) {
|