{"version":3,"sources":["webpack:///./js/LoginPage/FetchSessionsProgressViewModel.js","webpack:///./html/LoginPage/FetchSessionsProgressViewHtml.html","webpack:///./js/Core/FetchSessionsControlViewModel.js","webpack:///./html/LoginPage/FetchSessionsControlHtml.html","webpack:///./js/LoginPage/DesktopSsoRequestControlViewModel.js","webpack:///./html/LoginPage/DesktopSsoRequestControlHtml.html"],"names":["ko","require","Browser","Constants","ComponentEvent","w","window","CredentialType","QueryStringHelper","QueryString","PaginatedState","BrowserHelper","Helper","IfExistsResult","SessionPullFlags","FetchSessionsProgressViewModel","params","_this","this","_isEdge","isEdge","_serverData","serverData","_isNonInteractiveAuthRequest","nonInteractiveAuthRequest","_username","username","_displayName","displayName","_unsafe_domainName","unsafe_desktopSsoDomainToUse","_preferredCredential","preferredCredential","_isPushNotification","isPushNotification","_sessionPullType","sessionPullType","_isInitialView","isInitialView","_sessions","arrSessions","_canary","canary","_desktopSsoConfig","desktopSsoConfig","_sCtx","sCtx","_postEdgeReprocessUrl","urlLogin","_getCredTypeResultFromServer","oGetCredTypeResult","_showTilesAfterSessionPull","fShowTilesAfterSessionPull","_prefillUsername","sPrefillUsername","_switchDesktopSsoFallbackView","postParams","isEdgeAllowed","client_id","extract","ctx","dsso_edge_username","edge_attempted","onRedirect","onSwitchView","Tiles","onExecuteGctResult","length","Username","currentViewId","Password","Fido","RemoteNGC","ConfirmSend","OneTimeCode","PublicIdentifierCode","Federation","CloudFederation","IdpRedirect","AccessPass","_getViewIdFromPreferredCredType","_getDesktopSsoFallbackViewId","onUpdateUserTiles","create","onSubmitReady","onIncrementAsyncTileRequestCount","onDecrementAsyncTileRequestCount","isNonInteractiveAuthRequest","unsafe_domainName","saveSharedData","sharedData","Dsso","desktopSsoExecuted","getState","restoreState","cancelLink_onClick","fetchSessionsProgress_onHandleDssoSuccess","fetchSessionsProgress_onRedirect","redirectData","fetchSessionsProgress_onDesktopSsoFallbackView","fetchSessionsProgress_onUpdateUserTiles","newSessions","tilesStateQuery","ExistsBothIDPs","IdpDisambiguation","fetchSessionsProgress_onExecuteGctResult","fetchSessionsProgress_onIncrementAsyncTileRequestCount","fetchSessionsProgress_onDecrementAsyncTileRequestCount","components","register","viewModel","template","synchronous","ServerData","iMaxStackForKnockoutAsyncComponents","isStackSizeGreaterThan","enableExtensions","module","exports","ApiRequest","Helpers","Promise","TileHelpers","PromiseHelpers","LoginConstants","ObjectHelpers","Object","DateTimeHelpers","DateTime","SessionIdp","StringHelpers","String","FetchSessionsControlViewModel","_timeStampStaticMeControlRequest","_activeAadSessionCount","_activeMsaSessionCount","_activeAadSessions","_activeMsaSessions","_loginHintMatchedAadSession","_loginHintMatchedActiveAadSession","_loginHintMatchedActiveMsaSession","_msaStaticMePromiseHandlers","_awaitDssoProbe","_desktopSsoPromiseHandlers","_attemptingDsso","_redirectUriForEdge","_unsafe_desktopSsoDomainName","_timeoutTimer","_executeDssoPromise","_otherIdpRedirectUrl","urlGoToAADError","_loginUrl","_staticMeControlTelemetryUrl","urlReportStaticMeControlTelemetry","_otherIdpRedirectPostParams","oUrlOtherIdpPostParams","_hashedLoginHint","sHashedLoginHint","_isSsoFeasible","fSsoFeasible","_provideV2SsoImprovements","fProvideV2SsoImprovements","_msaStaticMeControlUrl","urlMsaStaticMeControl","_msaTransientDataMeControl","sTransientDataMsaMeControl","_msaPersistentDataMeControl","sPersistentDataMsaMeControl","_hasDesktopSsoConfig","_sFt","sFT","_appRedirectErrorUrl","urlAppError","_appRedirectErrorPostParams","oAppRedirectErrorPostParams","_postedPaginatedState","sPOST_PaginatedLoginState","_enableDssoFix","fEnableDssoFix","_fixSkippingDssoPromise","fFetchSessionsSkipDsso","_prepareDssoFirst","fFetchSessionsPrepareDssoFirst","_useMsaSessionState","fUseMsaSessionState","_loginHintMatchesAnyInactiveSession","isSignedIn","isWindowsSso","_window_onMessage","response","requestUrl","doOriginsMatch","origin","data","userList","tilesState","JSON","parse","e","messageType","msaSessions","aadSessions","utils","arrayFilter","session","isMeControlSession","id","matchedAadSession","arrayFirst","matchesLoginHint","matchedMsaSession","msaSession","signInName","toLowerCase","otherHashedAliases","hashedAlias","_calculateSessions","resolve","_resolveStaticMeSessions","staticMeControlLoadTime","getCurrentTime","Beacon","url","loadTime","msaUserCount","_reportStaticMeControlTelemetryAsync","encodeURIComponent","transientState","persistentState","hasStorageAccess","_encodeTilesState","ssoSession","_getSsoSession","ssoUser","idp","Aad","_submit","appendOrReplace","clone","otherIdpRedirectUrl","add","clearTimeout","_provideSso","desktopSsoRunning","parseMeControlSessions","_msaMeControl_onTimeout","removeEventListener","then","_resolveDesktopSsoPromise","_rejectDesktopSsoPromise","isEdgeRedirect","isFlowTokenPassedInEdge","flowtoken","appendCurrentQueryParameterIfNotExist","onHandleDssoSuccess","onHandleDssoFailure","onDesktopSsoFallbackView","_isValidDssoDomain","toLocaleUpperCase","_initStaticMe","addEventListener","throwUnhandledExceptionOnRejection","reject","callMsaStaticMeControl","setTimeout","meData","_initDsso","edgeRedirectUri","startDesktopSsoOnPageLoad","hintedDomainName","progressAnimationTimeout","document","location","assign","observable","postRedirectUrl","fetchSessionsProgressPaginatedState","FetchSessionsProgress","iFrame_onload","frame","message","sessionState","useMsaSessionState","targetDomain","extractOriginFromUrl","contentWindow","postMessage","stringify","dispose","desktopSsoRequestControl_onSuccess","desktopSsoRequestControl_onFailure","desktopSsoRequestControl_onEdgeRedirect","Msa","ClientTracingConstants","DesktopSsoIFrameViewModel","unsafe_tenantName","_statusUrl","urlDssoStatus","_browserSense","browser","_ssoUrl","iwaEndpointUrlFormat","_probeUrl","iwaSsoProbeUrlFormat","_iFrameUrl","iwaIFrameUrlFormat","_iwaRequestTimeoutInMs","iwaRequestTimeoutInMs","_hintedDomainName","_isSafariAllowed","isSafariAllowed","_isIEAllowedForSsoProbe","isIEAllowedForSsoProbe","_isEdgeAnaheimAllowed","isEdgeAnaheimAllowed","_ssoStart","_ssoDelay","_logContent","_dssoStopped","_logInstrumentation","resultCode","resultObject","ssoDelay","log","join","Json","_probeSsoLogin","image","Image","onload","_probeImage_onLoad","onerror","push","_onFailure","probeUrl","Date","getTime","src","withCredentials","breakCache","responseType","Get","eventId","EventIds","Api_GetIwaSsoToken","ContentType","FormUrlEncoded","_iwaRequest_onSuccess","_iwaRequest_onError","_iwaRequest_onTimeout","_iFrame_onMessage","event","res","iwaOrigin","err","_onSuccess","token","dssoToken","onDesktopSsoSuccess","nextButton","getElementById","click","onDesktopSsoFailure","onDesktopSsoEdgeRedirect","useIFrameRequest","unsafe_username","unsafe_displayName","iFrameSrc","instrumentationData","format","htmlUnescape","Chrome","PhantomJS","IE","b","major","Edge","RE_WebKit","_WinPh","Firefox","Safari","PostType"],"mappings":"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","file":"content/js/asyncchunk/convergedlogin_pfetchsessionsprogress_4ba7c391e6f3f547d8ce.js","sourcesContent":["var ko = require(\"knockout\");\r\nvar Browser = require(\"../Core/BrowserControl\");\r\nvar Constants = require(\"../Core/Constants\");\r\nvar ComponentEvent = require(\"../Core/ComponentEvent\");\r\n\r\nvar w = window;\r\nvar CredentialType = Constants.CredentialType;\r\nvar QueryStringHelper = Browser.QueryString;\r\nvar PaginatedState = Constants.PaginatedState;\r\nvar BrowserHelper = Browser.Helper;\r\nvar IfExistsResult = Constants.IfExistsResult;\r\nvar SessionPullFlags = Constants.SessionPullFlags;\r\n\r\nfunction FetchSessionsProgressViewModel(params)\r\n{\r\n \r\n var _this = this;\r\n\r\n var _isEdge = BrowserHelper.isEdge();\r\n\r\n \r\n var _serverData = params.serverData;\r\n var _isNonInteractiveAuthRequest = params.nonInteractiveAuthRequest;\r\n var _username = params.username;\r\n var _displayName = params.displayName;\r\n var _unsafe_domainName = params.unsafe_desktopSsoDomainToUse;\r\n var _preferredCredential = params.preferredCredential;\r\n var _isPushNotification = !!params.isPushNotification;\r\n var _sessionPullType = params.sessionPullType;\r\n var _isInitialView = params.isInitialView;\r\n \r\n\r\n \r\n var _sessions = _serverData.arrSessions || [];\r\n var _canary = _serverData.canary;\r\n var _desktopSsoConfig = _serverData.desktopSsoConfig;\r\n var _sCtx = _serverData.sCtx;\r\n var _postEdgeReprocessUrl = _serverData.urlLogin;\r\n var _getCredTypeResultFromServer = _serverData.oGetCredTypeResult;\r\n var _showTilesAfterSessionPull = _serverData.fShowTilesAfterSessionPull;\r\n var _prefillUsername = _serverData.sPrefillUsername;\r\n \r\n\r\n \r\n _this.onUpdateUserTiles = ComponentEvent.create();\r\n _this.onExecuteGctResult = ComponentEvent.create();\r\n _this.onSubmitReady = ComponentEvent.create();\r\n _this.onRedirect = ComponentEvent.create();\r\n _this.onSwitchView = ComponentEvent.create();\r\n _this.onIncrementAsyncTileRequestCount = ComponentEvent.create();\r\n _this.onDecrementAsyncTileRequestCount = ComponentEvent.create();\r\n \r\n\r\n \r\n _this.isNonInteractiveAuthRequest = _isNonInteractiveAuthRequest;\r\n _this.sessionPullType = _sessionPullType;\r\n _this.username = _username;\r\n _this.displayName = _displayName;\r\n _this.unsafe_domainName = _unsafe_domainName;\r\n \r\n\r\n \r\n _this.saveSharedData = function (sharedData)\r\n {\r\n if (_sessionPullType & SessionPullFlags.Dsso)\r\n {\r\n sharedData.desktopSsoExecuted = true;\r\n }\r\n };\r\n\r\n _this.getState = function ()\r\n {\r\n return null;\r\n };\r\n\r\n _this.restoreState = function ()\r\n {\r\n };\r\n\r\n _this.cancelLink_onClick = function ()\r\n {\r\n _switchDesktopSsoFallbackView();\r\n };\r\n\r\n _this.fetchSessionsProgress_onHandleDssoSuccess = function ()\r\n {\r\n _this.onSubmitReady();\r\n };\r\n\r\n _this.fetchSessionsProgress_onRedirect = function (redirectData, postParams)\r\n {\r\n _this.onRedirect(redirectData, postParams);\r\n };\r\n\r\n _this.fetchSessionsProgress_onDesktopSsoFallbackView = function ()\r\n {\r\n _switchDesktopSsoFallbackView();\r\n };\r\n\r\n _this.fetchSessionsProgress_onUpdateUserTiles = function (newSessions, tilesStateQuery)\r\n {\r\n _switchToInitialView();\r\n _this.onUpdateUserTiles(newSessions, tilesStateQuery);\r\n };\r\n\r\n _this.fetchSessionsProgress_onExecuteGctResult = function ()\r\n {\r\n if (!_isInitialView)\r\n {\r\n _this.onExecuteGctResult();\r\n }\r\n else if (_sessions.length > 0)\r\n {\r\n _this.onSwitchView(PaginatedState.Tiles, true);\r\n }\r\n else\r\n {\r\n _this.onSwitchView(PaginatedState.Username, true);\r\n }\r\n };\r\n\r\n _this.fetchSessionsProgress_onIncrementAsyncTileRequestCount = function ()\r\n {\r\n _this.onIncrementAsyncTileRequestCount();\r\n };\r\n\r\n _this.fetchSessionsProgress_onDecrementAsyncTileRequestCount = function ()\r\n {\r\n _this.onDecrementAsyncTileRequestCount();\r\n };\r\n \r\n\r\n \r\n function _switchDesktopSsoFallbackView()\r\n {\r\n if (_isEdge && _desktopSsoConfig && _desktopSsoConfig.isEdgeAllowed)\r\n {\r\n _navigateToReprocess();\r\n }\r\n else if (_prefillUsername && _prefillUsername === _username && _getCredTypeResultFromServer)\r\n {\r\n if (_showTilesAfterSessionPull)\r\n {\r\n _this.onSwitchView(PaginatedState.Tiles, true);\r\n }\r\n else\r\n {\r\n _this.onExecuteGctResult();\r\n }\r\n }\r\n else\r\n {\r\n _this.onSwitchView(_getDesktopSsoFallbackViewId(), true);\r\n }\r\n }\r\n\r\n function _switchToInitialView()\r\n {\r\n if (_getCredTypeResultFromServer && _getCredTypeResultFromServer.IfExistsResult === IfExistsResult.ExistsBothIDPs)\r\n {\r\n _this.onSwitchView(PaginatedState.IdpDisambiguation, true);\r\n }\r\n else if (_prefillUsername && _getCredTypeResultFromServer)\r\n {\r\n if (_showTilesAfterSessionPull)\r\n {\r\n _this.onSwitchView(PaginatedState.Tiles, true);\r\n }\r\n else\r\n {\r\n _this.onExecuteGctResult();\r\n }\r\n }\r\n else if (_sessions.length > 0)\r\n {\r\n _this.onSwitchView(PaginatedState.Tiles, true);\r\n }\r\n else\r\n {\r\n _this.onSwitchView(PaginatedState.Username, true);\r\n }\r\n }\r\n\r\n function _navigateToReprocess()\r\n {\r\n var postParams =\r\n {\r\n canary: _canary,\r\n client_id: QueryStringHelper.extract(\"client_id\"),\r\n ctx: _sCtx,\r\n dsso_edge_username: _username,\r\n edge_attempted: true\r\n };\r\n\r\n _this.onRedirect(_postEdgeReprocessUrl, postParams);\r\n }\r\n\r\n function _getDesktopSsoFallbackViewId()\r\n {\r\n if (!_preferredCredential)\r\n {\r\n if (_sessions.length)\r\n {\r\n return PaginatedState.Tiles;\r\n }\r\n\r\n return PaginatedState.Username;\r\n }\r\n\r\n return _getViewIdFromPreferredCredType();\r\n }\r\n\r\n function _getViewIdFromPreferredCredType()\r\n {\r\n var currentViewId = PaginatedState.Password;\r\n\r\n switch (_preferredCredential)\r\n {\r\n case CredentialType.Password:\r\n currentViewId = PaginatedState.Password;\r\n break;\r\n\r\n case CredentialType.Fido:\r\n currentViewId = PaginatedState.Fido;\r\n break;\r\n\r\n case CredentialType.RemoteNGC:\r\n currentViewId = _isInitialView && _isPushNotification ? PaginatedState.ConfirmSend : PaginatedState.RemoteNGC;\r\n break;\r\n\r\n case CredentialType.OneTimeCode:\r\n case CredentialType.PublicIdentifierCode:\r\n currentViewId = PaginatedState.ConfirmSend;\r\n break;\r\n\r\n case CredentialType.Federation:\r\n case CredentialType.CloudFederation:\r\n currentViewId = PaginatedState.IdpRedirect;\r\n break;\r\n\r\n case CredentialType.AccessPass:\r\n currentViewId = PaginatedState.AccessPass;\r\n break;\r\n }\r\n\r\n return currentViewId;\r\n }\r\n \r\n}\r\n\r\nko.components.register(\"fetch-sessions-progress-view\",\r\n {\r\n viewModel: FetchSessionsProgressViewModel,\r\n template: require(\"html/LoginPage/FetchSessionsProgressViewHtml.html\"),\r\n synchronous: !w.ServerData.iMaxStackForKnockoutAsyncComponents || Browser.Helper.isStackSizeGreaterThan(w.ServerData.iMaxStackForKnockoutAsyncComponents),\r\n enableExtensions: true\r\n });\r\n\r\nmodule.exports = FetchSessionsProgressViewModel;","module.exports = \"\\n\\n
\\n\\n
\\n
\\n
\\n\\n\\n\\n\\n\\n
\\n
\\n\";","var ko = require(\"knockout\");\r\nvar Browser = require(\"./BrowserControl\");\r\nvar ComponentEvent = require(\"./ComponentEvent\");\r\nvar ApiRequest = require(\"./ApiRequest\");\r\nvar Helpers = require(\"./Helpers\");\r\nvar Promise = require(\"./Promise\");\r\nvar TileHelpers = require(\"./TileHelpers\");\r\nvar PromiseHelpers = require(\"./PromiseHelpers\");\r\nvar Constants = require(\"../Core/Constants\");\r\nvar LoginConstants = require(\"../LoginPage/LoginConstants\");\r\n\r\nvar w = window;\r\nvar QueryString = Browser.QueryString;\r\nvar ObjectHelpers = Helpers.Object;\r\nvar DateTimeHelpers = Helpers.DateTime;\r\nvar SessionIdp = LoginConstants.SessionIdp;\r\nvar StringHelpers = Helpers.String;\r\nvar BrowserHelper = Browser.Helper;\r\nvar PaginatedState = Constants.PaginatedState;\r\n\r\nfunction FetchSessionsControlViewModel(params)\r\n{\r\n \r\n var _this = this;\r\n\r\n var c_msaMeControlTimeout = 10000;\r\n var c_msaMeCached = \"msaMeCached\";\r\n\r\n var _serverData = params.serverData;\r\n var _isNonInteractiveAuthRequest = params.nonInteractiveAuthRequest;\r\n var _username = params.username;\r\n var _displayName = params.displayName;\r\n var _unsafe_domainName = params.unsafe_desktopSsoDomainToUse;\r\n var _sessionPullType = params.sessionPullType;\r\n\r\n var _timeStampStaticMeControlRequest = null;\r\n var _staticMeTimeoutId = null;\r\n var _activeAadSessionCount = 0;\r\n var _activeMsaSessionCount = 0;\r\n var _activeAadSessions = [];\r\n var _activeMsaSessions = [];\r\n var _loginHintMatchedAadSession = null;\r\n var _loginHintMatchedActiveAadSession = null;\r\n var _loginHintMatchedActiveMsaSession = null;\r\n var _msaStaticMePromiseHandlers = null; \r\n var _awaitDssoProbe = null; \r\n var _desktopSsoPromiseHandlers = null; \r\n var _attemptingDsso = false;\r\n var _redirectUriForEdge = null;\r\n var _unsafe_desktopSsoDomainName = \"\";\r\n var _timeoutTimer = null;\r\n var _executeDssoPromise = false; \r\n \r\n\r\n \r\n var _canary = _serverData.canary;\r\n var _otherIdpRedirectUrl = _serverData.urlGoToAADError;\r\n var _loginUrl = _serverData.urlLogin;\r\n var _staticMeControlTelemetryUrl = _serverData.urlReportStaticMeControlTelemetry;\r\n var _otherIdpRedirectPostParams = _serverData.oUrlOtherIdpPostParams;\r\n var _prefillUsername = _serverData.sPrefillUsername;\r\n var _hashedLoginHint = _serverData.sHashedLoginHint;\r\n var _isSsoFeasible = _serverData.fSsoFeasible;\r\n var _provideV2SsoImprovements = _serverData.fProvideV2SsoImprovements;\r\n var _msaStaticMeControlUrl = _serverData.urlMsaStaticMeControl;\r\n var _msaTransientDataMeControl = _serverData.sTransientDataMsaMeControl;\r\n var _msaPersistentDataMeControl = _serverData.sPersistentDataMsaMeControl;\r\n var _sessions = _serverData.arrSessions;\r\n var _desktopSsoConfig = _serverData.desktopSsoConfig;\r\n var _hasDesktopSsoConfig = !!_desktopSsoConfig;\r\n var _sCtx = _serverData.sCtx;\r\n var _sFt = _serverData.sFT;\r\n var _appRedirectErrorUrl = _serverData.urlAppError;\r\n var _appRedirectErrorPostParams = _serverData.oAppRedirectErrorPostParams;\r\n var _postedPaginatedState = _serverData.sPOST_PaginatedLoginState;\r\n var _enableDssoFix = _serverData.fEnableDssoFix;\r\n var _fixSkippingDssoPromise = _serverData.fFetchSessionsSkipDsso;\r\n var _prepareDssoFirst = _serverData.fFetchSessionsPrepareDssoFirst;\r\n var _useMsaSessionState = _serverData.fUseMsaSessionState;\r\n \r\n\r\n \r\n _this.onUpdateUserTiles = ComponentEvent.create();\r\n _this.onExecuteGctResult = ComponentEvent.create();\r\n _this.onHandleDssoSuccess = ComponentEvent.create();\r\n _this.onHandleDssoFailure = ComponentEvent.create();\r\n _this.onDesktopSsoFallbackView = ComponentEvent.create();\r\n _this.onRedirect = ComponentEvent.create();\r\n _this.onIncrementAsyncTileRequestCount = ComponentEvent.create();\r\n _this.onDecrementAsyncTileRequestCount = ComponentEvent.create();\r\n \r\n\r\n \r\n _this.desktopSsoRunning = ko.observable(false);\r\n _this.callMsaStaticMeControl = ko.observable(false);\r\n _this.postRedirectUrl = ko.observable();\r\n\r\n _this.isNonInteractiveAuthRequest = _isNonInteractiveAuthRequest;\r\n _this.username = _username;\r\n _this.displayName = _displayName;\r\n _this.unsafe_domainName = _unsafe_domainName;\r\n _this.fetchSessionsProgressPaginatedState = PaginatedState.FetchSessionsProgress;\r\n _this.sessionPullType = _sessionPullType;\r\n \r\n\r\n \r\n _this.iFrame_onload = function (frame)\r\n {\r\n if (frame)\r\n {\r\n var sessionStateData =\r\n {\r\n transientState: _msaTransientDataMeControl,\r\n persistentState: _msaPersistentDataMeControl\r\n };\r\n\r\n var message =\r\n {\r\n messageType: \"startStaticMe\",\r\n sessionState: sessionStateData,\r\n useMsaSessionState: _useMsaSessionState\r\n };\r\n\r\n var targetDomain = StringHelpers.extractOriginFromUrl(_msaStaticMeControlUrl);\r\n frame.contentWindow.postMessage(JSON.stringify(message), targetDomain);\r\n }\r\n };\r\n\r\n _this.dispose = function ()\r\n {\r\n clearTimeout(_timeoutTimer);\r\n };\r\n\r\n _this.desktopSsoRequestControl_onSuccess = function ()\r\n {\r\n if (_awaitDssoProbe)\r\n {\r\n _desktopSsoPromiseHandlers.resolve();\r\n }\r\n \r\n };\r\n\r\n _this.desktopSsoRequestControl_onFailure = function ()\r\n {\r\n if (_awaitDssoProbe)\r\n {\r\n _desktopSsoPromiseHandlers.reject();\r\n }\r\n \r\n };\r\n\r\n _this.desktopSsoRequestControl_onEdgeRedirect = function ()\r\n {\r\n if (_awaitDssoProbe)\r\n {\r\n _desktopSsoPromiseHandlers.resolve(true);\r\n }\r\n \r\n };\r\n \r\n\r\n \r\n function _calculateSessions(msaSessions, aadSessions)\r\n {\r\n msaSessions = msaSessions || [];\r\n aadSessions = aadSessions || [];\r\n\r\n \r\n _activeAadSessions = ko.utils.arrayFilter(\r\n aadSessions,\r\n function (session)\r\n {\r\n return (session.isSignedIn || session.isWindowsSso)\r\n && !session.isMeControlSession\r\n && session.id;\r\n });\r\n\r\n _activeAadSessionCount = _activeAadSessions.length;\r\n\r\n \r\n _activeMsaSessions = ko.utils.arrayFilter(\r\n msaSessions,\r\n function (session)\r\n {\r\n \r\n return (session.isSignedIn || session.isWindowsSso);\r\n });\r\n\r\n _activeMsaSessionCount = _activeMsaSessions.length;\r\n\r\n if (_hashedLoginHint && _prefillUsername)\r\n {\r\n \r\n var matchedAadSession = ko.utils.arrayFirst(\r\n aadSessions,\r\n function (session)\r\n {\r\n return session.matchesLoginHint;\r\n });\r\n\r\n if (matchedAadSession)\r\n {\r\n _loginHintMatchedAadSession = matchedAadSession;\r\n\r\n if ((matchedAadSession.isSignedIn || matchedAadSession.isWindowsSso)\r\n && !matchedAadSession.isMeControlSession\r\n && matchedAadSession.id)\r\n {\r\n _loginHintMatchedActiveAadSession = matchedAadSession;\r\n }\r\n }\r\n\r\n var matchedMsaSession = ko.utils.arrayFirst(\r\n msaSessions,\r\n function (msaSession)\r\n {\r\n if (msaSession.signInName && msaSession.signInName.toLowerCase() === _prefillUsername.toLowerCase())\r\n {\r\n return true;\r\n }\r\n\r\n if (!msaSession.otherHashedAliases)\r\n {\r\n return false;\r\n }\r\n\r\n var matchedHashValue = ko.utils.arrayFirst(\r\n msaSession.otherHashedAliases,\r\n function (hashedAlias)\r\n {\r\n \r\n return _hashedLoginHint === hashedAlias;\r\n });\r\n\r\n if (matchedHashValue)\r\n {\r\n return true;\r\n }\r\n\r\n return false;\r\n }\r\n );\r\n\r\n if (matchedMsaSession)\r\n {\r\n _loginHintMatchedActiveMsaSession = matchedMsaSession;\r\n }\r\n }\r\n }\r\n\r\n function _getSsoSession()\r\n {\r\n if (_prefillUsername)\r\n {\r\n if (_loginHintMatchedActiveAadSession && _loginHintMatchedActiveMsaSession)\r\n {\r\n \r\n return null;\r\n }\r\n else if (_loginHintMatchedActiveAadSession)\r\n {\r\n \r\n \r\n \r\n return _loginHintMatchedActiveAadSession;\r\n }\r\n else if (_loginHintMatchedActiveMsaSession)\r\n {\r\n \r\n \r\n \r\n return _loginHintMatchedActiveMsaSession;\r\n }\r\n else if (_loginHintMatchedAadSession)\r\n {\r\n \r\n \r\n \r\n return null;\r\n }\r\n }\r\n else\r\n {\r\n if (_activeMsaSessionCount === 1 && _activeAadSessionCount === 0)\r\n {\r\n \r\n \r\n \r\n \r\n return _activeMsaSessions[0];\r\n }\r\n else if (_activeAadSessionCount === 1 && _activeMsaSessionCount === 0)\r\n {\r\n \r\n \r\n \r\n \r\n return _activeAadSessions[0];\r\n }\r\n else if ((_activeAadSessionCount + _activeMsaSessionCount) > 1 && _isNonInteractiveAuthRequest)\r\n {\r\n \r\n _this.onRedirect(_appRedirectErrorUrl, _appRedirectErrorPostParams);\r\n }\r\n }\r\n\r\n return false;\r\n }\r\n\r\n function _provideSso(ssoUser, tilesStateQuery)\r\n {\r\n if (ssoUser.idp === SessionIdp.Aad)\r\n {\r\n _submit(QueryString.appendOrReplace(_loginUrl, \"sessionid\", ssoUser.id));\r\n }\r\n else\r\n {\r\n var otherIdpRedirectPostParams = _otherIdpRedirectPostParams ? ObjectHelpers.clone(_otherIdpRedirectPostParams) : null;\r\n var otherIdpRedirectUrl = QueryString.add(_otherIdpRedirectUrl, tilesStateQuery);\r\n\r\n clearTimeout(_staticMeTimeoutId);\r\n _submit(otherIdpRedirectUrl, otherIdpRedirectPostParams);\r\n }\r\n }\r\n\r\n function _loginHintMatchesAnyInactiveSession()\r\n {\r\n if (_loginHintMatchedAadSession)\r\n {\r\n if (_loginHintMatchedAadSession.isSignedIn || _loginHintMatchedAadSession.isWindowsSso)\r\n {\r\n return false;\r\n }\r\n\r\n return true;\r\n }\r\n\r\n return false;\r\n }\r\n\r\n function _reportStaticMeControlTelemetryAsync(userList)\r\n {\r\n if (_staticMeControlTelemetryUrl)\r\n {\r\n var _timeStampStaticMeControlResponse = DateTimeHelpers.getCurrentTime();\r\n\r\n var staticMeControlLoadTime = _timeStampStaticMeControlResponse - _timeStampStaticMeControlRequest;\r\n\r\n \r\n var apiRequest = new ApiRequest();\r\n apiRequest.Beacon(\r\n {\r\n url: _staticMeControlTelemetryUrl\r\n },\r\n { loadTime: staticMeControlLoadTime, msaUserCount: userList.length });\r\n }\r\n }\r\n\r\n function _window_onMessage(response)\r\n {\r\n var requestUrl = _msaStaticMeControlUrl;\r\n\r\n if (!response)\r\n {\r\n return;\r\n }\r\n\r\n \r\n \r\n if (!StringHelpers.doOriginsMatch(requestUrl, response.origin))\r\n {\r\n return;\r\n }\r\n\r\n if (response.data)\r\n {\r\n var data = null;\r\n var userList = null;\r\n var tilesState = null;\r\n\r\n try\r\n {\r\n data = JSON.parse(response.data);\r\n userList = data.userList;\r\n tilesState = data.tilesState;\r\n }\r\n catch (e)\r\n {\r\n return;\r\n }\r\n\r\n if (userList && data.messageType === c_msaMeCached)\r\n {\r\n _calculateSessions(userList, _sessions);\r\n\r\n \r\n _msaStaticMePromiseHandlers.resolve({ userList: userList, tilesState: tilesState });\r\n _this.onDecrementAsyncTileRequestCount();\r\n }\r\n }\r\n }\r\n\r\n function _encodeTilesState(tilesState)\r\n {\r\n if (!tilesState)\r\n {\r\n return [];\r\n }\r\n\r\n return [\r\n [\"jsh\", encodeURIComponent(tilesState.transientState || \"\")],\r\n [\"jshp\", encodeURIComponent(tilesState.persistentState || \"\")],\r\n [\"jshs\", encodeURIComponent(tilesState.hasStorageAccess || -1)]\r\n ];\r\n }\r\n\r\n function _resolveStaticMeSessions(userList, tilesState)\r\n {\r\n userList = userList || [];\r\n _reportStaticMeControlTelemetryAsync(userList);\r\n var tilesStateQuery = _encodeTilesState(tilesState);\r\n\r\n if (_isSsoFeasible)\r\n {\r\n var ssoSession = _getSsoSession();\r\n\r\n if (ssoSession)\r\n {\r\n _provideSso(ssoSession, tilesStateQuery);\r\n return;\r\n }\r\n\r\n if (!_hasDesktopSsoConfig)\r\n {\r\n if (_isNonInteractiveAuthRequest)\r\n {\r\n _this.onRedirect(_appRedirectErrorUrl, _appRedirectErrorPostParams);\r\n }\r\n else if (_loginHintMatchesAnyInactiveSession())\r\n {\r\n _this.onExecuteGctResult();\r\n }\r\n }\r\n else if (_loginHintMatchesAnyInactiveSession())\r\n {\r\n _this.onExecuteGctResult();\r\n }\r\n }\r\n\r\n if (_fixSkippingDssoPromise && _hasDesktopSsoConfig && _this.desktopSsoRunning())\r\n {\r\n return;\r\n }\r\n else if (_hasDesktopSsoConfig)\r\n {\r\n \r\n _executeDssoPromise = true;\r\n\r\n if (_this.desktopSsoRunning())\r\n {\r\n return;\r\n }\r\n }\r\n\r\n _this.onUpdateUserTiles(TileHelpers.parseMeControlSessions(userList), tilesStateQuery);\r\n }\r\n\r\n function _msaMeControl_onTimeout()\r\n {\r\n BrowserHelper.removeEventListener(w, \"message\", _window_onMessage);\r\n _this.onDecrementAsyncTileRequestCount();\r\n\r\n if ((_fixSkippingDssoPromise && _attemptingDsso) || (!_fixSkippingDssoPromise && _enableDssoFix && _awaitDssoProbe))\r\n {\r\n \r\n _awaitDssoProbe.then(_resolveDesktopSsoPromise, _rejectDesktopSsoPromise);\r\n }\r\n else\r\n {\r\n \r\n _this.onUpdateUserTiles([], []);\r\n }\r\n }\r\n\r\n function _resolveDesktopSsoPromise(isEdgeRedirect)\r\n {\r\n if (isEdgeRedirect)\r\n {\r\n var postParams =\r\n {\r\n canary: _canary,\r\n client_id: QueryString.extract(\"client_id\"),\r\n ctx: _sCtx\r\n };\r\n\r\n if (_hasDesktopSsoConfig && _desktopSsoConfig.isFlowTokenPassedInEdge)\r\n {\r\n postParams.flowtoken = _sFt;\r\n }\r\n\r\n if (!_isNonInteractiveAuthRequest)\r\n {\r\n postParams.dsso_edge_username = _username;\r\n }\r\n\r\n _this.onRedirect(QueryString.appendCurrentQueryParameterIfNotExist(_redirectUriForEdge), postParams);\r\n }\r\n else\r\n {\r\n _this.onHandleDssoSuccess();\r\n }\r\n }\r\n\r\n function _rejectDesktopSsoPromise()\r\n {\r\n _attemptingDsso = false;\r\n if (_isNonInteractiveAuthRequest)\r\n {\r\n _this.onHandleDssoFailure();\r\n }\r\n else\r\n {\r\n _this.desktopSsoRunning(false);\r\n _this.onDesktopSsoFallbackView();\r\n }\r\n }\r\n\r\n function _isValidDssoDomain(unsafe_domainName)\r\n {\r\n return (unsafe_domainName && _unsafe_desktopSsoDomainName.toLocaleUpperCase() !== unsafe_domainName.toLocaleUpperCase());\r\n }\r\n\r\n function _onDesktopSsoStart(unsafe_domainName)\r\n {\r\n if (_isValidDssoDomain(unsafe_domainName))\r\n {\r\n \r\n \r\n if (_this.desktopSsoRunning())\r\n {\r\n \r\n _this.desktopSsoRunning(false);\r\n }\r\n\r\n _unsafe_desktopSsoDomainName = unsafe_domainName;\r\n _this.desktopSsoRunning(true);\r\n }\r\n else\r\n {\r\n \r\n \r\n _this.desktopSsoRunning(false);\r\n _this.onDesktopSsoFallbackView();\r\n }\r\n }\r\n\r\n \r\n function _fetchMsaStaticMeUserSessions()\r\n {\r\n return new Promise(\r\n function (resolve, reject)\r\n {\r\n _timeStampStaticMeControlRequest = DateTimeHelpers.getCurrentTime();\r\n _this.callMsaStaticMeControl(true);\r\n\r\n if (_provideV2SsoImprovements)\r\n {\r\n setTimeout(reject, c_msaMeControlTimeout);\r\n }\r\n\r\n _msaStaticMePromiseHandlers = { resolve: resolve };\r\n });\r\n }\r\n\r\n \r\n function _initStaticMe()\r\n {\r\n if (!_provideV2SsoImprovements)\r\n {\r\n return;\r\n }\r\n\r\n _this.onIncrementAsyncTileRequestCount();\r\n\r\n BrowserHelper.addEventListener(w, \"message\", _window_onMessage);\r\n\r\n PromiseHelpers.throwUnhandledExceptionOnRejection(\r\n _fetchMsaStaticMeUserSessions().then(function (meData)\r\n {\r\n _resolveStaticMeSessions(meData.userList, meData.tilesState);\r\n\r\n \r\n if ((_fixSkippingDssoPromise && _attemptingDsso) || (!_fixSkippingDssoPromise && _executeDssoPromise && _awaitDssoProbe))\r\n {\r\n \r\n _awaitDssoProbe.then(_resolveDesktopSsoPromise, _rejectDesktopSsoPromise);\r\n }\r\n }, _msaMeControl_onTimeout));\r\n }\r\n\r\n \r\n function _initDsso()\r\n {\r\n if (!_hasDesktopSsoConfig)\r\n {\r\n return;\r\n }\r\n\r\n _redirectUriForEdge = _desktopSsoConfig.edgeRedirectUri;\r\n\r\n if (_desktopSsoConfig.startDesktopSsoOnPageLoad)\r\n {\r\n _unsafe_domainName = _desktopSsoConfig.hintedDomainName;\r\n }\r\n\r\n _awaitDssoProbe = new Promise(\r\n function (resolve, reject)\r\n {\r\n _desktopSsoPromiseHandlers = { resolve: resolve, reject: reject };\r\n });\r\n\r\n if (!_provideV2SsoImprovements)\r\n {\r\n _awaitDssoProbe.then(_resolveDesktopSsoPromise, _rejectDesktopSsoPromise);\r\n }\r\n\r\n var checkDsso = !!(_unsafe_domainName || _postedPaginatedState);\r\n if (checkDsso)\r\n {\r\n \r\n _attemptingDsso = _isValidDssoDomain(_unsafe_domainName);\r\n\r\n \r\n \r\n \r\n \r\n setTimeout(\r\n function ()\r\n {\r\n _timeoutTimer = setTimeout(_rejectDesktopSsoPromise, _desktopSsoConfig.progressAnimationTimeout);\r\n _onDesktopSsoStart(_unsafe_domainName);\r\n }, 0);\r\n }\r\n }\r\n\r\n function _submit(url)\r\n {\r\n document.location.assign(url);\r\n }\r\n\r\n (function _initialize()\r\n {\r\n if (_prepareDssoFirst)\r\n {\r\n _initDsso();\r\n _initStaticMe();\r\n }\r\n else\r\n {\r\n \r\n _initStaticMe();\r\n _initDsso();\r\n }\r\n })();\r\n \r\n}\r\n\r\nko.components.register(\"fetch-sessions-control\",\r\n {\r\n viewModel: FetchSessionsControlViewModel,\r\n template: require(\"html/LoginPage/FetchSessionsControlHtml.html\"),\r\n synchronous: !w.ServerData.iMaxStackForKnockoutAsyncComponents || Browser.Helper.isStackSizeGreaterThan(w.ServerData.iMaxStackForKnockoutAsyncComponents),\r\n enableExtensions: true\r\n });\r\n\r\nmodule.exports = FetchSessionsControlViewModel;","module.exports = \"\\n\\n\\n
\\n\\n\\n\\n
\\n
\\n
\\n
\\n\\n\\n\\n\\n\\n\";","var ko = require(\"knockout\");\r\nvar JSON = require(\"JSON\");\r\nvar Browser = require(\"../Core/BrowserControl\");\r\nvar ComponentEvent = require(\"../Core/ComponentEvent\");\r\nvar Helpers = require(\"../Core/Helpers\");\r\nvar ApiRequest = require(\"../Core/ApiRequest\");\r\nvar Constants = require(\"../Core/Constants\");\r\nvar ClientTracingConstants = require(\"../Core/ClientTracingConstants\");\r\n\r\nvar w = window;\r\nvar BrowserHelper = Browser.Helper;\r\nvar QueryStringHelper = Browser.QueryString;\r\nvar StringHelpers = Helpers.String;\r\n\r\nfunction DesktopSsoIFrameViewModel(params)\r\n{\r\n var _this = this;\r\n\r\n \r\n var c_nextButtonId = \"idSIButton9\";\r\n var c_dssoResultMessageType = \"dssoResult\";\r\n var c_minIEProbeVersion = 11;\r\n \r\n\r\n \r\n var _serverData = params.serverData;\r\n var _unsafe_domainName = params.unsafe_domainName;\r\n var _username = params.username;\r\n var _displayName = params.displayName;\r\n \r\n\r\n \r\n var _statusUrl = _serverData.urlDssoStatus;\r\n var _browserSense = _serverData.browser;\r\n var _desktopSsoConfig = _serverData.desktopSsoConfig;\r\n\r\n var _ssoUrl = _desktopSsoConfig.iwaEndpointUrlFormat;\r\n var _probeUrl = _desktopSsoConfig.iwaSsoProbeUrlFormat;\r\n var _iFrameUrl = _desktopSsoConfig.iwaIFrameUrlFormat;\r\n var _iwaRequestTimeoutInMs = _desktopSsoConfig.iwaRequestTimeoutInMs;\r\n var _hintedDomainName = _desktopSsoConfig.hintedDomainName;\r\n var _isSafariAllowed = _desktopSsoConfig.isSafariAllowed;\r\n var _isIEAllowedForSsoProbe = _desktopSsoConfig.isIEAllowedForSsoProbe;\r\n var _isEdgeAnaheimAllowed = _desktopSsoConfig.isEdgeAnaheimAllowed;\r\n \r\n\r\n \r\n var _ssoStart = null;\r\n var _ssoDelay = 0;\r\n var _logContent = [];\r\n var _dssoStopped = false;\r\n \r\n\r\n \r\n _this.onDesktopSsoSuccess = ComponentEvent.create();\r\n _this.onDesktopSsoFailure = ComponentEvent.create();\r\n _this.onDesktopSsoEdgeRedirect = ComponentEvent.create();\r\n \r\n\r\n \r\n _this.useIFrameRequest = ko.observable(false);\r\n _this.dssoToken = ko.observable();\r\n\r\n _this.unsafe_username = null;\r\n _this.unsafe_displayName = null;\r\n _this.iFrameSrc = null;\r\n \r\n\r\n \r\n _this.dispose = function ()\r\n {\r\n BrowserHelper.removeEventListener(w, \"message\", _iFrame_onMessage);\r\n _dssoStopped = true;\r\n };\r\n\r\n _this.iFrame_onload = function (frame)\r\n {\r\n if (frame)\r\n {\r\n \r\n var targetDomain = StringHelpers.extractOriginFromUrl(_iFrameUrl || _ssoUrl);\r\n\r\n \r\n var instrumentationData = _iwaRequestTimeoutInMs + \"|\" + _ssoUrl;\r\n\r\n frame.contentWindow.postMessage(instrumentationData, targetDomain);\r\n }\r\n };\r\n \r\n\r\n \r\n function _isValidBrowser()\r\n {\r\n if (_browserSense._WinPh)\r\n {\r\n _logContent.push(\"Detected Browser: WindowsPhone\");\r\n return false;\r\n }\r\n\r\n \r\n if (_browserSense.IE && _browserSense.b !== null && _browserSense.b.major >= 10)\r\n {\r\n _logContent.push(\"Detected Browser: IE10+\");\r\n return true;\r\n }\r\n else if (_browserSense.Firefox)\r\n {\r\n _logContent.push(\"Detected Browser: Firefox\");\r\n return true;\r\n }\r\n else if (_browserSense.Safari)\r\n {\r\n _logContent.push(\"Detected Browser: Safari\");\r\n if (_isSafariAllowed)\r\n {\r\n return true;\r\n }\r\n }\r\n\r\n return false;\r\n }\r\n\r\n function _isValidBrowserForProbe()\r\n {\r\n return _browserSense.Chrome\r\n || _browserSense.PhantomJS\r\n || (_isIEAllowedForSsoProbe &&_browserSense.IE && _browserSense.b !== null && _browserSense.b.major >= c_minIEProbeVersion)\r\n || (_isEdgeAnaheimAllowed && _browserSense.Edge && _browserSense.RE_WebKit);\r\n }\r\n\r\n function _logInstrumentation(resultCode)\r\n {\r\n \r\n var resultObject =\r\n {\r\n resultCode: resultCode, \r\n ssoDelay: _ssoDelay, \r\n log: resultCode === 0 ? \"\" : _logContent.join(\"\\n\") \r\n };\r\n\r\n var apiRequest = new ApiRequest();\r\n apiRequest.Json({ url: _statusUrl }, resultObject);\r\n }\r\n\r\n \r\n function _probeSsoLogin()\r\n {\r\n var image = new Image();\r\n\r\n \r\n \r\n image.onload = _probeImage_onLoad;\r\n\r\n image.onerror = function ()\r\n {\r\n _logContent.push(\"Probe image error event fired\");\r\n _onFailure(2);\r\n };\r\n\r\n \r\n var probeUrl = _probeUrl || QueryStringHelper.appendOrReplace(_ssoUrl, \"probe\", \"1\");\r\n probeUrl = QueryStringHelper.appendOrReplace(probeUrl, \"_\", (new Date()).getTime());\r\n image.src = probeUrl;\r\n }\r\n\r\n \r\n function _probeImage_onLoad()\r\n {\r\n _ssoStart = (new Date()).getTime();\r\n\r\n \r\n \r\n var requestParams =\r\n {\r\n withCredentials: true,\r\n breakCache: true,\r\n responseType: \"text\"\r\n };\r\n\r\n var apiRequest = new ApiRequest(requestParams);\r\n apiRequest.Get(\r\n {\r\n url: _ssoUrl,\r\n eventId: ClientTracingConstants.EventIds.Api_GetIwaSsoToken\r\n },\r\n Constants.ContentType.FormUrlEncoded,\r\n _iwaRequest_onSuccess,\r\n _iwaRequest_onError,\r\n _iwaRequest_onTimeout,\r\n _iwaRequestTimeoutInMs);\r\n }\r\n\r\n function _iFrame_onMessage(event)\r\n {\r\n \r\n \r\n var iwaOrigin = StringHelpers.extractOriginFromUrl(_iFrameUrl || _ssoUrl);\r\n var dataOrigin = StringHelpers.extractOriginFromUrl(event.origin);\r\n\r\n \r\n \r\n if (dataOrigin !== iwaOrigin)\r\n {\r\n _logContent.push(\"Event origin not valid\");\r\n _logInstrumentation(5);\r\n return;\r\n }\r\n\r\n var res;\r\n try\r\n {\r\n res = JSON.parse(event.data);\r\n }\r\n catch (err)\r\n {\r\n _logContent.push(\"Invalid response: \" + err);\r\n _onFailure(6);\r\n return;\r\n }\r\n\r\n if (res.messageType !== c_dssoResultMessageType)\r\n {\r\n _logContent.push(\"FrameListener: messageType was not of the expected value.\");\r\n return;\r\n }\r\n\r\n \r\n _ssoDelay = res.ssoDelay || 0;\r\n\r\n if (res.resultCode === 100)\r\n {\r\n _onSuccess(res.message);\r\n }\r\n else\r\n {\r\n \r\n _logContent.push(\"FrameListener: Frame returned code \" + res.resultCode + \" with message \" + res.message);\r\n _onFailure(res.resultCode);\r\n }\r\n }\r\n\r\n function _iwaRequest_onSuccess(event, token)\r\n {\r\n _ssoDelay = (new Date()).getTime() - _ssoStart;\r\n _onSuccess(token);\r\n }\r\n\r\n function _iwaRequest_onError()\r\n {\r\n _ssoDelay = (new Date()).getTime() - _ssoStart;\r\n _logContent.push(\"Direct SSO attempt failed\");\r\n _onFailure(3);\r\n }\r\n\r\n function _iwaRequest_onTimeout()\r\n {\r\n _ssoDelay = (new Date()).getTime() - _ssoStart;\r\n _logContent.push(\"Direct SSO timed out\");\r\n _onFailure(3);\r\n }\r\n\r\n function _onSuccess(token)\r\n {\r\n _logInstrumentation(0);\r\n _this.dssoToken(token);\r\n\r\n if (!_dssoStopped)\r\n {\r\n _this.onDesktopSsoSuccess();\r\n\r\n \r\n var nextButton = document.getElementById(c_nextButtonId);\r\n if (nextButton)\r\n {\r\n nextButton.click();\r\n }\r\n }\r\n }\r\n\r\n function _onFailure(resultCode)\r\n {\r\n _logInstrumentation(resultCode);\r\n\r\n if (!_dssoStopped)\r\n {\r\n _this.onDesktopSsoFailure();\r\n }\r\n }\r\n\r\n (function _initialize()\r\n {\r\n var unsafe_tenantName = encodeURIComponent(_unsafe_domainName || _hintedDomainName);\r\n _ssoUrl = StringHelpers.format(_ssoUrl, unsafe_tenantName);\r\n _probeUrl = StringHelpers.format(_probeUrl, unsafe_tenantName);\r\n _iFrameUrl = StringHelpers.format(_iFrameUrl, unsafe_tenantName);\r\n\r\n \r\n \r\n _this.unsafe_username = BrowserHelper.htmlUnescape(_username);\r\n _this.unsafe_displayName = BrowserHelper.htmlUnescape(_displayName);\r\n\r\n \r\n if (_isValidBrowserForProbe())\r\n {\r\n _probeSsoLogin();\r\n }\r\n else if (_browserSense.Edge && _desktopSsoConfig && _desktopSsoConfig.isEdgeAllowed)\r\n {\r\n if (QueryStringHelper.extract(\"is_redirected\") === \"1\")\r\n {\r\n _probeSsoLogin();\r\n }\r\n else\r\n {\r\n \r\n _this.onDesktopSsoEdgeRedirect();\r\n }\r\n }\r\n else if (_isValidBrowser())\r\n {\r\n \r\n _this.iFrameSrc = _iFrameUrl || QueryStringHelper.appendOrReplace(_ssoUrl, \"iframe\", \"1\");\r\n\r\n _this.useIFrameRequest(true);\r\n BrowserHelper.addEventListener(w, \"message\", _iFrame_onMessage);\r\n }\r\n else\r\n {\r\n _logContent.push(\"User agent is not supported\");\r\n _onFailure(1);\r\n }\r\n })();\r\n \r\n}\r\n\r\nko.components.register(\"desktop-sso-request-control\",\r\n {\r\n viewModel: DesktopSsoIFrameViewModel,\r\n template: require(\"html/LoginPage/DesktopSsoRequestControlHtml.html\"),\r\n synchronous: !w.ServerData.iMaxStackForKnockoutAsyncComponents || Browser.Helper.isStackSizeGreaterThan(w.ServerData.iMaxStackForKnockoutAsyncComponents),\r\n enableExtensions: true\r\n });\r\n\r\nmodule.exports = DesktopSsoIFrameViewModel;","module.exports = \"\\n\\n\\n\\n\\n\\n
\\n\";"],"sourceRoot":""}