const AuthenticationContext = require('adal-angular'); AuthenticationContext.prototype._getItemSuper = AuthenticationContext.prototype._getItem; AuthenticationContext.prototype._saveItemSuper = AuthenticationContext.prototype._saveItem; AuthenticationContext.prototype.handleWindowCallbackSuper = AuthenticationContext.prototype.handleWindowCallback; AuthenticationContext.prototype._renewTokenSuper = AuthenticationContext.prototype._renewToken; AuthenticationContext.prototype.getRequestInfoSuper = AuthenticationContext.prototype.getRequestInfo; AuthenticationContext.prototype._addAdalFrameSuper = AuthenticationContext.prototype._addAdalFrame; AuthenticationContext.prototype._getItem = function (key) { if (this.config.webPartId) { key = this.config.webPartId + '_' + key; } return this._getItemSuper(key); }; AuthenticationContext.prototype._saveItem = function (key, object) { if (this.config.webPartId) { key = this.config.webPartId + '_' + key; } return this._saveItemSuper(key, object); }; AuthenticationContext.prototype.handleWindowCallback = function (hash) { if (hash == null) { hash = window.location.hash; } if (!this.isCallback(hash)) { return; } var requestInfo = this.getRequestInfo(hash); if (requestInfo.requestType === this.REQUEST_TYPE.LOGIN) { return this.handleWindowCallbackSuper(hash); } var resource = this._getResourceFromState(requestInfo.stateResponse); if (!resource || resource.length === 0) { return; } if (this._getItem(this.CONSTANTS.STORAGE.RENEW_STATUS + resource) === this.CONSTANTS.TOKEN_RENEW_STATUS_IN_PROGRESS) { return this.handleWindowCallbackSuper(hash); } } AuthenticationContext.prototype._renewToken = function (resource, callback) { this._renewTokenSuper(resource, callback); var _renewStates = this._getItem('renewStates'); if (_renewStates) { _renewStates = _renewStates.split(';'); } else { _renewStates = []; } _renewStates.push(this.config.state); this._saveItem('renewStates', _renewStates); } AuthenticationContext.prototype.getRequestInfo = function (hash) { var requestInfo = this.getRequestInfoSuper(hash); var _renewStates = this._getItem('renewStates'); if (!_renewStates) { return requestInfo; } _renewStates = _renewStates.split(';'); for (var i = 0; i < _renewStates.length; i++) { if (_renewStates[i] === requestInfo.stateResponse) { requestInfo.requestType = this.REQUEST_TYPE.RENEW_TOKEN; requestInfo.stateMatch = true; break; } } return requestInfo; } AuthenticationContext.prototype._addAdalFrame = function (iframeId) { var adalFrame = this._addAdalFrameSuper(iframeId); adalFrame.style.width = adalFrame.style.height = '106px'; return adalFrame; } window.AuthenticationContext = function () { return undefined; }