New issue
Advanced search Search tips
Note: Color blocks (like or ) mean that a user may not be available. Tooltip shows the reason.

Issue 870122 link

Starred by 0 users

Issue metadata

Status: Fixed
Owner:
Closed: Aug 22
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: Chrome
Pri: 1
Type: Bug



Sign in to add a comment

Require password when enabling EasyUnlock

Project Member Reported by khorimoto@chromium.org, Aug 2

Issue description

(1) When starting the setup flow, when launched from non-OOBE.
(2) When enabling the EasyUnlock toggle in settings.
(3) When enabling the entire Better Together suite, which implicitly enables EasyUnlock.
 
Owner: hansberry@chromium.org
Status: Started (was: Available)
Project Member

Comment 2 by bugdroid1@chromium.org, Aug 16

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/08d6785af6586b2253d249efe649535cb2f24db1

commit 08d6785af6586b2253d249efe649535cb2f24db1
Author: Ryan Hansberry <hansberry@chromium.org>
Date: Thu Aug 16 18:07:56 2018

[CrOS Multidevice] Create AuthTokenValidator interface and test double.

AuthTokenValidator will allow MultiDeviceSetupService to verify incoming
AuthToken identifier strings, in order to verify that the user has recently
been authenticated, before changing security-sensitive features.

Bug:  870122 
Change-Id: I131160fbd5757d74e7640769c2df5afd3706641c
Reviewed-on: https://chromium-review.googlesource.com/1176381
Commit-Queue: Ryan Hansberry <hansberry@chromium.org>
Reviewed-by: Kyle Horimoto <khorimoto@chromium.org>
Cr-Commit-Position: refs/heads/master@{#583733}
[modify] https://crrev.com/08d6785af6586b2253d249efe649535cb2f24db1/chromeos/services/multidevice_setup/public/cpp/BUILD.gn
[add] https://crrev.com/08d6785af6586b2253d249efe649535cb2f24db1/chromeos/services/multidevice_setup/public/cpp/auth_token_validator.h
[add] https://crrev.com/08d6785af6586b2253d249efe649535cb2f24db1/chromeos/services/multidevice_setup/public/cpp/fake_auth_token_validator.cc
[add] https://crrev.com/08d6785af6586b2253d249efe649535cb2f24db1/chromeos/services/multidevice_setup/public/cpp/fake_auth_token_validator.h

Project Member

Comment 3 by bugdroid1@chromium.org, Aug 16

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/f1418e640ad0cb9287ce8ada6f5ae866e1395705

commit f1418e640ad0cb9287ce8ada6f5ae866e1395705
Author: Ryan Hansberry <hansberry@chromium.org>
Date: Thu Aug 16 18:59:00 2018

[CrOS Multidevice] Inject concrete AuthTokenValidator into MultiDeviceSetupService.

Create a concrete implementation of AuthTokenValidator, using QuickUnlockStorage
as its underlying logic. It is retrieved via a AuthTokenValidatorFactory in order
to make browser the owner of the AuthTokenValidatorImpl, not //chromeos.

Bug:  870122 
Change-Id: I880f6ca519fe2e7ccc6c857cc08927eaf9ac3e32
Reviewed-on: https://chromium-review.googlesource.com/1176436
Commit-Queue: Ryan Hansberry <hansberry@chromium.org>
Reviewed-by: Kyle Horimoto <khorimoto@chromium.org>
Reviewed-by: Bernhard Bauer <bauerb@chromium.org>
Cr-Commit-Position: refs/heads/master@{#583763}
[modify] https://crrev.com/f1418e640ad0cb9287ce8ada6f5ae866e1395705/chrome/browser/chromeos/BUILD.gn
[add] https://crrev.com/f1418e640ad0cb9287ce8ada6f5ae866e1395705/chrome/browser/chromeos/multidevice_setup/auth_token_validator_factory.cc
[add] https://crrev.com/f1418e640ad0cb9287ce8ada6f5ae866e1395705/chrome/browser/chromeos/multidevice_setup/auth_token_validator_factory.h
[add] https://crrev.com/f1418e640ad0cb9287ce8ada6f5ae866e1395705/chrome/browser/chromeos/multidevice_setup/auth_token_validator_impl.cc
[add] https://crrev.com/f1418e640ad0cb9287ce8ada6f5ae866e1395705/chrome/browser/chromeos/multidevice_setup/auth_token_validator_impl.h
[modify] https://crrev.com/f1418e640ad0cb9287ce8ada6f5ae866e1395705/chrome/browser/profiles/profile_impl.cc
[modify] https://crrev.com/f1418e640ad0cb9287ce8ada6f5ae866e1395705/chromeos/services/multidevice_setup/multidevice_setup_impl.cc
[modify] https://crrev.com/f1418e640ad0cb9287ce8ada6f5ae866e1395705/chromeos/services/multidevice_setup/multidevice_setup_impl.h
[modify] https://crrev.com/f1418e640ad0cb9287ce8ada6f5ae866e1395705/chromeos/services/multidevice_setup/multidevice_setup_impl_unittest.cc
[modify] https://crrev.com/f1418e640ad0cb9287ce8ada6f5ae866e1395705/chromeos/services/multidevice_setup/multidevice_setup_initializer.cc
[modify] https://crrev.com/f1418e640ad0cb9287ce8ada6f5ae866e1395705/chromeos/services/multidevice_setup/multidevice_setup_initializer.h
[modify] https://crrev.com/f1418e640ad0cb9287ce8ada6f5ae866e1395705/chromeos/services/multidevice_setup/multidevice_setup_service.cc
[modify] https://crrev.com/f1418e640ad0cb9287ce8ada6f5ae866e1395705/chromeos/services/multidevice_setup/multidevice_setup_service.h
[modify] https://crrev.com/f1418e640ad0cb9287ce8ada6f5ae866e1395705/chromeos/services/multidevice_setup/multidevice_setup_service_unittest.cc
[modify] https://crrev.com/f1418e640ad0cb9287ce8ada6f5ae866e1395705/chromeos/services/multidevice_setup/public/cpp/multidevice_setup_client_impl_unittest.cc

Project Member

Comment 4 by bugdroid1@chromium.org, Aug 21

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/e5e5821f7f34e2acd230b197a6ad206a2d1e1de0

commit e5e5821f7f34e2acd230b197a6ad206a2d1e1de0
Author: Ryan Hansberry <hansberry@chromium.org>
Date: Tue Aug 21 22:41:19 2018

Factor out password_prompt_dialog from people_page/ to controls/.

A new people_page/lock_screen_password_prompt_dialog is created
that implements lock screen specific logic that previously
resided in password_prompt_dialog.

Bug:  870122 
Change-Id: If1fb68e6b7fd84f91850a169342ab04fb8a75404
Reviewed-on: https://chromium-review.googlesource.com/1179377
Commit-Queue: Ryan Hansberry <hansberry@chromium.org>
Reviewed-by: Tommy Li <tommycli@chromium.org>
Reviewed-by: Kyle Horimoto <khorimoto@chromium.org>
Cr-Commit-Position: refs/heads/master@{#584913}
[modify] https://crrev.com/e5e5821f7f34e2acd230b197a6ad206a2d1e1de0/chrome/browser/resources/settings/controls/BUILD.gn
[rename] https://crrev.com/e5e5821f7f34e2acd230b197a6ad206a2d1e1de0/chrome/browser/resources/settings/controls/password_prompt_dialog.html
[add] https://crrev.com/e5e5821f7f34e2acd230b197a6ad206a2d1e1de0/chrome/browser/resources/settings/controls/password_prompt_dialog.js
[modify] https://crrev.com/e5e5821f7f34e2acd230b197a6ad206a2d1e1de0/chrome/browser/resources/settings/people_page/BUILD.gn
[modify] https://crrev.com/e5e5821f7f34e2acd230b197a6ad206a2d1e1de0/chrome/browser/resources/settings/people_page/lock_screen.html
[modify] https://crrev.com/e5e5821f7f34e2acd230b197a6ad206a2d1e1de0/chrome/browser/resources/settings/people_page/lock_screen.js
[add] https://crrev.com/e5e5821f7f34e2acd230b197a6ad206a2d1e1de0/chrome/browser/resources/settings/people_page/lock_screen_password_prompt_dialog.html
[add] https://crrev.com/e5e5821f7f34e2acd230b197a6ad206a2d1e1de0/chrome/browser/resources/settings/people_page/lock_screen_password_prompt_dialog.js
[delete] https://crrev.com/913f1641f753a2a10c0dfc3bbfc0ae345474ef3a/chrome/browser/resources/settings/people_page/password_prompt_dialog.js
[modify] https://crrev.com/e5e5821f7f34e2acd230b197a6ad206a2d1e1de0/chrome/browser/resources/settings/settings_resources.grd
[modify] https://crrev.com/e5e5821f7f34e2acd230b197a6ad206a2d1e1de0/chrome/test/data/webui/settings/cr_settings_browsertest.js
[modify] https://crrev.com/e5e5821f7f34e2acd230b197a6ad206a2d1e1de0/chrome/test/data/webui/settings/quick_unlock_authenticate_browsertest_chromeos.js

Project Member

Comment 5 by bugdroid1@chromium.org, Aug 22

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/1c28cefbe1d46b65f43e1161eb3fdd3afa4dde6b

commit 1c28cefbe1d46b65f43e1161eb3fdd3afa4dde6b
Author: Ryan Hansberry <hansberry@chromium.org>
Date: Wed Aug 22 01:17:55 2018

[CrOS Multidevice] Expect AuthToken on security-sensitive MultiDeviceSetup methods.

Only move forward with the SetFeatureEnabled() and SetHostDevice() methods if a valid AuthToken
is provided.

Bug:  870122 
Change-Id: I5367490cc28a51ee38161d23ca900b52f9793afc
Reviewed-on: https://chromium-review.googlesource.com/1178567
Commit-Queue: Ryan Hansberry <hansberry@chromium.org>
Reviewed-by: Tommy Li <tommycli@chromium.org>
Reviewed-by: Kyle Horimoto <khorimoto@chromium.org>
Reviewed-by: Robert Sesek <rsesek@chromium.org>
Cr-Commit-Position: refs/heads/master@{#584943}
[modify] https://crrev.com/1c28cefbe1d46b65f43e1161eb3fdd3afa4dde6b/chrome/browser/resources/chromeos/multidevice_setup/multidevice_setup.js
[modify] https://crrev.com/1c28cefbe1d46b65f43e1161eb3fdd3afa4dde6b/chrome/browser/resources/settings/multidevice_page/multidevice_browser_proxy.js
[modify] https://crrev.com/1c28cefbe1d46b65f43e1161eb3fdd3afa4dde6b/chrome/browser/ui/webui/settings/chromeos/multidevice_handler.cc
[modify] https://crrev.com/1c28cefbe1d46b65f43e1161eb3fdd3afa4dde6b/chrome/browser/ui/webui/settings/chromeos/multidevice_handler_unittest.cc
[modify] https://crrev.com/1c28cefbe1d46b65f43e1161eb3fdd3afa4dde6b/chromeos/services/multidevice_setup/BUILD.gn
[modify] https://crrev.com/1c28cefbe1d46b65f43e1161eb3fdd3afa4dde6b/chromeos/services/multidevice_setup/multidevice_setup_impl.cc
[modify] https://crrev.com/1c28cefbe1d46b65f43e1161eb3fdd3afa4dde6b/chromeos/services/multidevice_setup/multidevice_setup_impl.h
[modify] https://crrev.com/1c28cefbe1d46b65f43e1161eb3fdd3afa4dde6b/chromeos/services/multidevice_setup/multidevice_setup_impl_unittest.cc
[modify] https://crrev.com/1c28cefbe1d46b65f43e1161eb3fdd3afa4dde6b/chromeos/services/multidevice_setup/multidevice_setup_initializer.cc
[modify] https://crrev.com/1c28cefbe1d46b65f43e1161eb3fdd3afa4dde6b/chromeos/services/multidevice_setup/multidevice_setup_initializer.h
[modify] https://crrev.com/1c28cefbe1d46b65f43e1161eb3fdd3afa4dde6b/chromeos/services/multidevice_setup/multidevice_setup_service_unittest.cc
[modify] https://crrev.com/1c28cefbe1d46b65f43e1161eb3fdd3afa4dde6b/chromeos/services/multidevice_setup/public/cpp/fake_multidevice_setup.cc
[modify] https://crrev.com/1c28cefbe1d46b65f43e1161eb3fdd3afa4dde6b/chromeos/services/multidevice_setup/public/cpp/fake_multidevice_setup.h
[modify] https://crrev.com/1c28cefbe1d46b65f43e1161eb3fdd3afa4dde6b/chromeos/services/multidevice_setup/public/cpp/fake_multidevice_setup_client.cc
[modify] https://crrev.com/1c28cefbe1d46b65f43e1161eb3fdd3afa4dde6b/chromeos/services/multidevice_setup/public/cpp/fake_multidevice_setup_client.h
[modify] https://crrev.com/1c28cefbe1d46b65f43e1161eb3fdd3afa4dde6b/chromeos/services/multidevice_setup/public/cpp/multidevice_setup_client.h
[modify] https://crrev.com/1c28cefbe1d46b65f43e1161eb3fdd3afa4dde6b/chromeos/services/multidevice_setup/public/cpp/multidevice_setup_client_impl.cc
[modify] https://crrev.com/1c28cefbe1d46b65f43e1161eb3fdd3afa4dde6b/chromeos/services/multidevice_setup/public/cpp/multidevice_setup_client_impl.h
[modify] https://crrev.com/1c28cefbe1d46b65f43e1161eb3fdd3afa4dde6b/chromeos/services/multidevice_setup/public/cpp/multidevice_setup_client_impl_unittest.cc
[modify] https://crrev.com/1c28cefbe1d46b65f43e1161eb3fdd3afa4dde6b/chromeos/services/multidevice_setup/public/mojom/multidevice_setup.mojom

Project Member

Comment 6 by bugdroid1@chromium.org, Aug 22

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/56d3d720c25268184350c8830c6c9776abcd652e

commit 56d3d720c25268184350c8830c6c9776abcd652e
Author: Ryan Hansberry <hansberry@chromium.org>
Date: Wed Aug 22 02:09:59 2018

[CrOS Multidevice] Authenticate user before enabling some features.

Before Smart Lock or Better Together Suite can be enabled, the user is
prompted to confirm their password. The auth token that is generated
by the process is then passed along to MultiDeviceSetupService. For
other features which don't require authentication, simply call out to
MultiDeviceSetupService with no auth token.

This CL always requires Better Together Suite enabling to be an
authenticated request. However, that's really only necessary in the
case that the Smart Lock user pref is enabled. A follow-up CL will
remove this unnecessary authentication requirement; see
crbug.com/876377.

Bug:  870122 
Change-Id: I95056000a3dccf27c4d62329d7f04a737f1e1c4a
Reviewed-on: https://chromium-review.googlesource.com/1184025
Commit-Queue: Ryan Hansberry <hansberry@chromium.org>
Reviewed-by: Kyle Horimoto <khorimoto@chromium.org>
Reviewed-by: Hector Carmona <hcarmona@chromium.org>
Cr-Commit-Position: refs/heads/master@{#584948}
[modify] https://crrev.com/56d3d720c25268184350c8830c6c9776abcd652e/chrome/browser/resources/settings/multidevice_page/BUILD.gn
[modify] https://crrev.com/56d3d720c25268184350c8830c6c9776abcd652e/chrome/browser/resources/settings/multidevice_page/multidevice_browser_proxy.js
[modify] https://crrev.com/56d3d720c25268184350c8830c6c9776abcd652e/chrome/browser/resources/settings/multidevice_page/multidevice_feature_toggle.html
[modify] https://crrev.com/56d3d720c25268184350c8830c6c9776abcd652e/chrome/browser/resources/settings/multidevice_page/multidevice_feature_toggle.js
[modify] https://crrev.com/56d3d720c25268184350c8830c6c9776abcd652e/chrome/browser/resources/settings/multidevice_page/multidevice_page.html
[modify] https://crrev.com/56d3d720c25268184350c8830c6c9776abcd652e/chrome/browser/resources/settings/multidevice_page/multidevice_page.js

Status: Fixed (was: Started)

Sign in to add a comment