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

Side by Side Diff: chrome/browser/chromeos/login/supervised/supervised_user_creation_controller_new.cc

Issue 1412813003: This CL replaces user_manager::UserID with AccountId. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@468875--Chrome-OS-handles-deletion-of-Gmail-account-poorly--Create-AccountID-structure-part2--user_names
Patch Set: Fix Win GN build. Created 5 years, 1 month 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
OLDNEW
1 // Copyright 2014 The Chromium Authors. All rights reserved. 1 // Copyright 2014 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 #include "chrome/browser/chromeos/login/supervised/supervised_user_creation_cont roller_new.h" 5 #include "chrome/browser/chromeos/login/supervised/supervised_user_creation_cont roller_new.h"
6 6
7 #include "base/base64.h" 7 #include "base/base64.h"
8 #include "base/bind.h" 8 #include "base/bind.h"
9 #include "base/files/file_path.h" 9 #include "base/files/file_path.h"
10 #include "base/files/file_util.h" 10 #include "base/files/file_util.h"
11 #include "base/strings/string_number_conversions.h" 11 #include "base/strings/string_number_conversions.h"
12 #include "base/strings/string_util.h" 12 #include "base/strings/string_util.h"
13 #include "base/sys_info.h" 13 #include "base/sys_info.h"
14 #include "base/task_runner_util.h" 14 #include "base/task_runner_util.h"
15 #include "base/threading/sequenced_worker_pool.h" 15 #include "base/threading/sequenced_worker_pool.h"
16 #include "base/values.h" 16 #include "base/values.h"
17 #include "chrome/browser/chromeos/login/supervised/supervised_user_authenticatio n.h" 17 #include "chrome/browser/chromeos/login/supervised/supervised_user_authenticatio n.h"
18 #include "chrome/browser/chromeos/login/supervised/supervised_user_constants.h" 18 #include "chrome/browser/chromeos/login/supervised/supervised_user_constants.h"
19 #include "chrome/browser/chromeos/login/users/chrome_user_manager.h" 19 #include "chrome/browser/chromeos/login/users/chrome_user_manager.h"
20 #include "chrome/browser/chromeos/login/users/supervised_user_manager.h" 20 #include "chrome/browser/chromeos/login/users/supervised_user_manager.h"
21 #include "chrome/browser/chromeos/profiles/profile_helper.h" 21 #include "chrome/browser/chromeos/profiles/profile_helper.h"
22 #include "chrome/browser/lifetime/application_lifetime.h" 22 #include "chrome/browser/lifetime/application_lifetime.h"
23 #include "chrome/browser/sync/profile_sync_service.h" 23 #include "chrome/browser/sync/profile_sync_service.h"
24 #include "chrome/browser/sync/profile_sync_service_factory.h" 24 #include "chrome/browser/sync/profile_sync_service_factory.h"
25 #include "chromeos/cryptohome/cryptohome_parameters.h" 25 #include "chromeos/cryptohome/cryptohome_parameters.h"
26 #include "chromeos/dbus/dbus_thread_manager.h" 26 #include "chromeos/dbus/dbus_thread_manager.h"
27 #include "chromeos/dbus/session_manager_client.h" 27 #include "chromeos/dbus/session_manager_client.h"
28 #include "chromeos/login/auth/key.h" 28 #include "chromeos/login/auth/key.h"
29 #include "chromeos/login/auth/user_context.h" 29 #include "chromeos/login/auth/user_context.h"
30 #include "components/signin/core/account_id/account_id.h"
30 #include "components/user_manager/user.h" 31 #include "components/user_manager/user.h"
31 #include "components/user_manager/user_manager.h" 32 #include "components/user_manager/user_manager.h"
32 #include "content/public/browser/browser_thread.h" 33 #include "content/public/browser/browser_thread.h"
33 #include "content/public/browser/user_metrics.h" 34 #include "content/public/browser/user_metrics.h"
34 #include "crypto/random.h" 35 #include "crypto/random.h"
35 #include "google_apis/gaia/google_service_auth_error.h" 36 #include "google_apis/gaia/google_service_auth_error.h"
36 37
37 namespace chromeos { 38 namespace chromeos {
38 39
39 namespace { 40 namespace {
(...skipping 240 matching lines...) Expand 10 before | Expand all | Expand 10 after
280 base::Base64Decode(creation_context_->signature_key, &signature_key); 281 base::Base64Decode(creation_context_->signature_key, &signature_key);
281 password_key.authorization_data.push_back( 282 password_key.authorization_data.push_back(
282 cryptohome::KeyDefinition::AuthorizationData(false /* encrypt */, 283 cryptohome::KeyDefinition::AuthorizationData(false /* encrypt */,
283 true /* sign */, 284 true /* sign */,
284 signature_key)); 285 signature_key));
285 286
286 Key key(Key::KEY_TYPE_SALTED_PBKDF2_AES256_1234, 287 Key key(Key::KEY_TYPE_SALTED_PBKDF2_AES256_1234,
287 std::string(), // The salt is stored elsewhere. 288 std::string(), // The salt is stored elsewhere.
288 creation_context_->salted_master_key); 289 creation_context_->salted_master_key);
289 key.SetLabel(kCryptohomeMasterKeyLabel); 290 key.SetLabel(kCryptohomeMasterKeyLabel);
290 UserContext context(creation_context_->local_user_id); 291 UserContext context(
292 AccountId::FromUserEmail(creation_context_->local_user_id));
291 context.SetKey(key); 293 context.SetKey(key);
292 context.SetIsUsingOAuth(false); 294 context.SetIsUsingOAuth(false);
293 295
294 authenticator_->AddKey( 296 authenticator_->AddKey(
295 context, 297 context,
296 password_key, 298 password_key,
297 true, 299 true,
298 base::Bind(&SupervisedUserCreationControllerNew::OnAddKeySuccess, 300 base::Bind(&SupervisedUserCreationControllerNew::OnAddKeySuccess,
299 weak_factory_.GetWeakPtr())); 301 weak_factory_.GetWeakPtr()));
300 } 302 }
(...skipping 73 matching lines...) Expand 10 before | Expand all | Expand 10 after
374 376
375 if (!success) { 377 if (!success) {
376 stage_ = STAGE_ERROR; 378 stage_ = STAGE_ERROR;
377 if (consumer_) 379 if (consumer_)
378 consumer_->OnCreationError(TOKEN_WRITE_FAILED); 380 consumer_->OnCreationError(TOKEN_WRITE_FAILED);
379 return; 381 return;
380 } 382 }
381 // Assume that new token is valid. It will be automatically invalidated if 383 // Assume that new token is valid. It will be automatically invalidated if
382 // sync service fails to use it. 384 // sync service fails to use it.
383 user_manager::UserManager::Get()->SaveUserOAuthStatus( 385 user_manager::UserManager::Get()->SaveUserOAuthStatus(
384 creation_context_->local_user_id, 386 AccountId::FromUserEmail(creation_context_->local_user_id),
385 user_manager::User::OAUTH2_TOKEN_STATUS_VALID); 387 user_manager::User::OAUTH2_TOKEN_STATUS_VALID);
386 388
387 stage_ = TOKEN_WRITTEN; 389 stage_ = TOKEN_WRITTEN;
388 390
389 timeout_timer_.Stop(); 391 timeout_timer_.Stop();
390 ChromeUserManager::Get() 392 ChromeUserManager::Get()
391 ->GetSupervisedUserManager() 393 ->GetSupervisedUserManager()
392 ->CommitCreationTransaction(); 394 ->CommitCreationTransaction();
393 content::RecordAction( 395 content::RecordAction(
394 base::UserMetricsAction("ManagedMode_LocallyManagedUserCreated")); 396 base::UserMetricsAction("ManagedMode_LocallyManagedUserCreated"));
(...skipping 18 matching lines...) Expand all
413 creation_context_->registration_utility.reset(); 415 creation_context_->registration_utility.reset();
414 chrome::AttemptUserExit(); 416 chrome::AttemptUserExit();
415 } 417 }
416 418
417 std::string SupervisedUserCreationControllerNew::GetSupervisedUserId() { 419 std::string SupervisedUserCreationControllerNew::GetSupervisedUserId() {
418 DCHECK(creation_context_); 420 DCHECK(creation_context_);
419 return creation_context_->local_user_id; 421 return creation_context_->local_user_id;
420 } 422 }
421 423
422 } // namespace chromeos 424 } // namespace chromeos
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698