Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(41)

Side by Side Diff: chrome/browser/resources/chromeos/login/screen_gaia_signin.js

Issue 671183002: Revert of Inline sign in extracts gaia id from HTTP header and seeds account tracker (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Created 6 years, 2 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch | Annotate | Revision Log
OLDNEW
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 /** 5 /**
6 * @fileoverview Oobe signin screen implementation. 6 * @fileoverview Oobe signin screen implementation.
7 */ 7 */
8 8
9 <include src="../../gaia_auth_host/gaia_auth_host.js"> 9 <include src="../../gaia_auth_host/gaia_auth_host.js">
10 10
11 login.createScreen('GaiaSigninScreen', 'gaia-signin', function() { 11 login.createScreen('GaiaSigninScreen', 'gaia-signin', function() {
12 // Gaia loading time after which error message must be displayed and 12 // Gaia loading time after which error message must be displayed and
13 // lazy portal check should be fired. 13 // lazy portal check should be fired.
14 /** @const */ var GAIA_LOADING_PORTAL_SUSSPECT_TIME_SEC = 7; 14 /** @const */ var GAIA_LOADING_PORTAL_SUSSPECT_TIME_SEC = 7;
15 15
16 // Maximum Gaia loading time in seconds. 16 // Maximum Gaia loading time in seconds.
17 /** @const */ var MAX_GAIA_LOADING_TIME_SEC = 60; 17 /** @const */ var MAX_GAIA_LOADING_TIME_SEC = 60;
18 18
19 /** @const */ var HELP_TOPIC_ENTERPRISE_REPORTING = 2535613; 19 /** @const */ var HELP_TOPIC_ENTERPRISE_REPORTING = 2535613;
20 20
21 return { 21 return {
22 EXTERNAL_API: [ 22 EXTERNAL_API: [
23 'loadAuthExtension', 23 'loadAuthExtension',
24 'updateAuthExtension', 24 'updateAuthExtension',
25 'setAuthenticatedUserEmail',
25 'doReload', 26 'doReload',
26 'onFrameError', 27 'onFrameError',
27 'updateCancelButtonState' 28 'updateCancelButtonState'
28 ], 29 ],
29 30
30 /** 31 /**
31 * Frame loading error code (0 - no error). 32 * Frame loading error code (0 - no error).
32 * @type {number} 33 * @type {number}
33 * @private 34 * @private
34 */ 35 */
(...skipping 51 matching lines...) Expand 10 before | Expand all | Expand 10 after
86 * SAML password confirmation attempt count. 87 * SAML password confirmation attempt count.
87 * @type {number} 88 * @type {number}
88 */ 89 */
89 samlPasswordConfirmAttempt_: 0, 90 samlPasswordConfirmAttempt_: 0,
90 91
91 /** @override */ 92 /** @override */
92 decorate: function() { 93 decorate: function() {
93 this.gaiaAuthHost_ = new cr.login.GaiaAuthHost($('signin-frame')); 94 this.gaiaAuthHost_ = new cr.login.GaiaAuthHost($('signin-frame'));
94 this.gaiaAuthHost_.addEventListener( 95 this.gaiaAuthHost_.addEventListener(
95 'ready', this.onAuthReady_.bind(this)); 96 'ready', this.onAuthReady_.bind(this));
97 this.gaiaAuthHost_.retrieveAuthenticatedUserEmailCallback =
98 this.onRetrieveAuthenticatedUserEmail_.bind(this);
96 this.gaiaAuthHost_.confirmPasswordCallback = 99 this.gaiaAuthHost_.confirmPasswordCallback =
97 this.onAuthConfirmPassword_.bind(this); 100 this.onAuthConfirmPassword_.bind(this);
98 this.gaiaAuthHost_.noPasswordCallback = 101 this.gaiaAuthHost_.noPasswordCallback =
99 this.onAuthNoPassword_.bind(this); 102 this.onAuthNoPassword_.bind(this);
100 this.gaiaAuthHost_.insecureContentBlockedCallback = 103 this.gaiaAuthHost_.insecureContentBlockedCallback =
101 this.onInsecureContentBlocked_.bind(this); 104 this.onInsecureContentBlocked_.bind(this);
102 this.gaiaAuthHost_.missingGaiaInfoCallback =
103 this.missingGaiaInfo_.bind(this);
104 this.gaiaAuthHost_.samlApiUsedCallback =
105 this.samlApiUsed_.bind(this);
106 this.gaiaAuthHost_.addEventListener('authFlowChange', 105 this.gaiaAuthHost_.addEventListener('authFlowChange',
107 this.onAuthFlowChange_.bind(this)); 106 this.onAuthFlowChange_.bind(this));
108 107
109 $('enterprise-info-hint-link').addEventListener('click', function(e) { 108 $('enterprise-info-hint-link').addEventListener('click', function(e) {
110 chrome.send('launchHelpApp', [HELP_TOPIC_ENTERPRISE_REPORTING]); 109 chrome.send('launchHelpApp', [HELP_TOPIC_ENTERPRISE_REPORTING]);
111 e.preventDefault(); 110 e.preventDefault();
112 }); 111 });
113 112
114 113
115 this.updateLocalizedContent(); 114 this.updateLocalizedContent();
(...skipping 216 matching lines...) Expand 10 before | Expand all | Expand 10 after
332 $('createAccount').hidden && 331 $('createAccount').hidden &&
333 $('guestSignin').hidden && 332 $('guestSignin').hidden &&
334 $('createSupervisedUserPane').hidden && 333 $('createSupervisedUserPane').hidden &&
335 $('consumerManagementEnrollment').hidden; 334 $('consumerManagementEnrollment').hidden;
336 this.classList.toggle('no-right-panel', noRightPanel); 335 this.classList.toggle('no-right-panel', noRightPanel);
337 if (Oobe.getInstance().currentScreen === this) 336 if (Oobe.getInstance().currentScreen === this)
338 Oobe.getInstance().updateScreenSize(this); 337 Oobe.getInstance().updateScreenSize(this);
339 }, 338 },
340 339
341 /** 340 /**
341 * Sends the authenticated user's e-mail address to the auth extension.
342 * @param {number} attemptToken The opaque token provided to
343 * onRetrieveAuthenticatedUserEmail_.
344 * @param {string} email The authenticated user's e-mail address.
345 */
346 setAuthenticatedUserEmail: function(attemptToken, email) {
347 if (!email) {
348 this.showFatalAuthError(
349 loadTimeData.getString('fatalErrorMessageNoEmail'));
350 } else {
351 this.gaiaAuthHost_.setAuthenticatedUserEmail(attemptToken, email);
352 }
353 },
354
355 /**
342 * Updates [Cancel] button state. Allow cancellation of screen only when 356 * Updates [Cancel] button state. Allow cancellation of screen only when
343 * user pods can be displayed. 357 * user pods can be displayed.
344 */ 358 */
345 updateCancelButtonState: function() { 359 updateCancelButtonState: function() {
346 this.cancelAllowed_ = this.isShowUsers_ && $('pod-row').pods.length; 360 this.cancelAllowed_ = this.isShowUsers_ && $('pod-row').pods.length;
347 $('login-header-bar').allowCancel = this.cancelAllowed_; 361 $('login-header-bar').allowCancel = this.cancelAllowed_;
348 }, 362 },
349 363
350 /** 364 /**
351 * Whether the current auth flow is SAML. 365 * Whether the current auth flow is SAML.
(...skipping 40 matching lines...) Expand 10 before | Expand all | Expand 10 after
392 } 406 }
393 407
394 chrome.send('loginWebuiReady'); 408 chrome.send('loginWebuiReady');
395 chrome.send('loginVisible', ['gaia-signin']); 409 chrome.send('loginVisible', ['gaia-signin']);
396 410
397 // Warm up the user images screen. 411 // Warm up the user images screen.
398 Oobe.getInstance().preloadScreen({id: SCREEN_USER_IMAGE_PICKER}); 412 Oobe.getInstance().preloadScreen({id: SCREEN_USER_IMAGE_PICKER});
399 }, 413 },
400 414
401 /** 415 /**
416 * Invoked when the user has successfully authenticated via SAML and the
417 * auth host needs to retrieve the user's e-mail.
418 * @param {number} attemptToken Opaque token to be passed to
419 * setAuthenticatedUserEmail along with the e-mail address.
420 * @param {boolean} apiUsed Whether the principals API was used during
421 * authentication.
422 * @private
423 */
424 onRetrieveAuthenticatedUserEmail_: function(attemptToken, apiUsed) {
425 if (apiUsed) {
426 // If the principals API was used, report this to the C++ backend so
427 // that statistics can be kept. If password scraping was used instead,
428 // there is no need to inform the C++ backend at this point: Either
429 // onAuthNoPassword_ or onAuthConfirmPassword_ will be called in a
430 // moment, both of which imply to the backend that the API was not used.
431 chrome.send('usingSAMLAPI');
432 }
433 chrome.send('retrieveAuthenticatedUserEmail', [attemptToken]);
434 },
435
436 /**
402 * Invoked when the user has successfully authenticated via SAML, the 437 * Invoked when the user has successfully authenticated via SAML, the
403 * principals API was not used and the auth host needs the user to confirm 438 * principals API was not used and the auth host needs the user to confirm
404 * the scraped password. 439 * the scraped password.
405 * @param {number} passwordCount The number of passwords that were scraped. 440 * @param {number} passwordCount The number of passwords that were scraped.
406 * @private 441 * @private
407 */ 442 */
408 onAuthConfirmPassword_: function(passwordCount) { 443 onAuthConfirmPassword_: function(passwordCount) {
409 this.loading = true; 444 this.loading = true;
410 Oobe.getInstance().headerHidden = false; 445 Oobe.getInstance().headerHidden = false;
411 446
(...skipping 49 matching lines...) Expand 10 before | Expand all | Expand 10 after
461 496
462 /** 497 /**
463 * Shows the fatal auth error. 498 * Shows the fatal auth error.
464 * @param {string} message The error message to show. 499 * @param {string} message The error message to show.
465 */ 500 */
466 showFatalAuthError: function(message) { 501 showFatalAuthError: function(message) {
467 login.FatalErrorScreen.show(message, Oobe.showSigninUI); 502 login.FatalErrorScreen.show(message, Oobe.showSigninUI);
468 }, 503 },
469 504
470 /** 505 /**
471 * Show fatal auth error when information is missing from GAIA.
472 */
473 missingGaiaInfo_: function() {
474 this.showFatalAuthError(
475 loadTimeData.getString('fatalErrorMessageNoAccountDetails'));
476 },
477
478 /**
479 * Record that SAML API was used during sign-in.
480 */
481 samlApiUsed_: function() {
482 chrome.send('usingSAMLAPI');
483 },
484
485 /**
486 * Invoked when auth is completed successfully. 506 * Invoked when auth is completed successfully.
487 * @param {!Object} credentials Credentials of the completed authentication. 507 * @param {!Object} credentials Credentials of the completed authentication.
488 * @private 508 * @private
489 */ 509 */
490 onAuthCompleted_: function(credentials) { 510 onAuthCompleted_: function(credentials) {
491 if (credentials.useOffline) { 511 if (credentials.useOffline) {
492 this.email = credentials.email; 512 this.email = credentials.email;
493 chrome.send('authenticateUser', 513 chrome.send('authenticateUser',
494 [credentials.gaiaId, 514 [credentials.email, credentials.password]);
495 credentials.email,
496 credentials.password]);
497 } else if (credentials.authCode) { 515 } else if (credentials.authCode) {
498 chrome.send('completeAuthentication', 516 chrome.send('completeAuthentication',
499 [credentials.gaiaId, 517 [credentials.email,
500 credentials.email,
501 credentials.password, 518 credentials.password,
502 credentials.authCode]); 519 credentials.authCode]);
503 } else { 520 } else {
504 chrome.send('completeLogin', 521 chrome.send('completeLogin',
505 [credentials.gaiaId, 522 [credentials.email,
506 credentials.email,
507 credentials.password, 523 credentials.password,
508 credentials.usingSAML]); 524 credentials.usingSAML]);
509 } 525 }
510 526
511 this.loading = true; 527 this.loading = true;
512 // Now that we're in logged in state header should be hidden. 528 // Now that we're in logged in state header should be hidden.
513 Oobe.getInstance().headerHidden = true; 529 Oobe.getInstance().headerHidden = true;
514 // Clear any error messages that were shown before login. 530 // Clear any error messages that were shown before login.
515 Oobe.clearErrors(); 531 Oobe.clearErrors();
516 }, 532 },
(...skipping 115 matching lines...) Expand 10 before | Expand all | Expand 10 after
632 * For more info see C++ class 'WebUILoginView' which calls this method. 648 * For more info see C++ class 'WebUILoginView' which calls this method.
633 * @param {number} error Error code. 649 * @param {number} error Error code.
634 * @param {string} url The URL that failed to load. 650 * @param {string} url The URL that failed to load.
635 */ 651 */
636 onFrameError: function(error, url) { 652 onFrameError: function(error, url) {
637 this.error_ = error; 653 this.error_ = error;
638 chrome.send('frameLoadingCompleted', [this.error_]); 654 chrome.send('frameLoadingCompleted', [this.error_]);
639 }, 655 },
640 }; 656 };
641 }); 657 });
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698