Chromium Code Reviews| OLD | NEW |
|---|---|
| 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 #include "chrome/browser/chromeos/login/managed/locally_managed_user_creation_co ntroller.h" | 5 #include "chrome/browser/chromeos/login/managed/locally_managed_user_creation_co ntroller.h" |
| 6 | 6 |
| 7 #include "base/bind.h" | 7 #include "base/bind.h" |
| 8 #include "base/file_util.h" | 8 #include "base/file_util.h" |
| 9 #include "base/files/file_path.h" | 9 #include "base/files/file_path.h" |
| 10 #include "base/strings/string_number_conversions.h" | 10 #include "base/strings/string_number_conversions.h" |
| 11 #include "base/strings/string_util.h" | 11 #include "base/strings/string_util.h" |
| 12 #include "base/sys_info.h" | 12 #include "base/sys_info.h" |
| 13 #include "base/task_runner_util.h" | 13 #include "base/task_runner_util.h" |
| 14 #include "base/threading/sequenced_worker_pool.h" | 14 #include "base/threading/sequenced_worker_pool.h" |
| 15 #include "base/values.h" | 15 #include "base/values.h" |
| 16 #include "chrome/browser/chromeos/login/managed/locally_managed_user_constants.h " | 16 #include "chrome/browser/chromeos/login/managed/locally_managed_user_constants.h " |
| 17 #include "chrome/browser/chromeos/login/managed/supervised_user_authentication.h " | |
| 17 #include "chrome/browser/chromeos/login/mount_manager.h" | 18 #include "chrome/browser/chromeos/login/mount_manager.h" |
| 18 #include "chrome/browser/chromeos/login/supervised_user_manager.h" | 19 #include "chrome/browser/chromeos/login/supervised_user_manager.h" |
| 19 #include "chrome/browser/chromeos/login/user.h" | 20 #include "chrome/browser/chromeos/login/user.h" |
| 20 #include "chrome/browser/chromeos/login/user_manager.h" | 21 #include "chrome/browser/chromeos/login/user_manager.h" |
| 21 #include "chrome/browser/lifetime/application_lifetime.h" | 22 #include "chrome/browser/lifetime/application_lifetime.h" |
| 22 #include "chrome/browser/sync/profile_sync_service.h" | 23 #include "chrome/browser/sync/profile_sync_service.h" |
| 23 #include "chrome/browser/sync/profile_sync_service_factory.h" | 24 #include "chrome/browser/sync/profile_sync_service_factory.h" |
| 24 #include "chromeos/dbus/dbus_thread_manager.h" | 25 #include "chromeos/dbus/dbus_thread_manager.h" |
| 25 #include "chromeos/dbus/session_manager_client.h" | 26 #include "chromeos/dbus/session_manager_client.h" |
| 26 #include "content/public/browser/browser_thread.h" | 27 #include "content/public/browser/browser_thread.h" |
| (...skipping 115 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 142 ManagedUserRegistrationUtility::GenerateNewManagedUserId(); | 143 ManagedUserRegistrationUtility::GenerateNewManagedUserId(); |
| 143 } | 144 } |
| 144 | 145 |
| 145 manager->CreateUserRecord( | 146 manager->CreateUserRecord( |
| 146 creation_context_->manager_id, | 147 creation_context_->manager_id, |
| 147 creation_context_->local_user_id, | 148 creation_context_->local_user_id, |
| 148 creation_context_->sync_user_id, | 149 creation_context_->sync_user_id, |
| 149 creation_context_->display_name); | 150 creation_context_->display_name); |
| 150 | 151 |
| 151 manager->SetCreationTransactionUserId(creation_context_->local_user_id); | 152 manager->SetCreationTransactionUserId(creation_context_->local_user_id); |
| 153 SupervisedUserAuthentication* authentication = | |
| 154 manager->GetSupervisedUserAuthentication(); | |
| 155 if (authentication->FillDataForNewUser( | |
| 156 creation_context_->local_user_id, | |
|
Nikita (slow)
2013/12/09 16:42:16
nit: Please move parameter to prev line and align
Denis Kuznetsov (DE-MUC)
2013/12/12 19:45:24
Done.
| |
| 157 creation_context_->password, | |
| 158 &creation_context_->password_data)) { | |
| 159 authentication->StorePasswordData(creation_context_->local_user_id, | |
| 160 creation_context_->password_data); | |
| 161 } | |
| 152 VLOG(1) << "Creating cryptohome"; | 162 VLOG(1) << "Creating cryptohome"; |
| 153 authenticator_ = new ManagedUserAuthenticator(this); | 163 authenticator_ = new ManagedUserAuthenticator(this); |
| 154 authenticator_->AuthenticateToCreate(creation_context_->local_user_id, | 164 authenticator_->AuthenticateToCreate( |
|
Nikita (slow)
2013/12/09 16:42:16
nit: Can you please change alignment in the same w
Denis Kuznetsov (DE-MUC)
2013/12/12 19:45:24
Done.
| |
| 155 creation_context_->password); | 165 creation_context_->local_user_id, |
| 166 authentication->TransformPassword( | |
| 167 creation_context_->local_user_id, | |
| 168 creation_context_->password)); | |
| 156 } | 169 } |
| 157 | 170 |
| 158 void LocallyManagedUserCreationController::OnAuthenticationFailure( | 171 void LocallyManagedUserCreationController::OnAuthenticationFailure( |
| 159 ManagedUserAuthenticator::AuthState error) { | 172 ManagedUserAuthenticator::AuthState error) { |
| 160 timeout_timer_.Stop(); | 173 timeout_timer_.Stop(); |
| 161 ErrorCode code = NO_ERROR; | 174 ErrorCode code = NO_ERROR; |
| 162 switch (error) { | 175 switch (error) { |
| 163 case ManagedUserAuthenticator::NO_MOUNT: | 176 case ManagedUserAuthenticator::NO_MOUNT: |
| 164 code = CRYPTOHOME_NO_MOUNT; | 177 code = CRYPTOHOME_NO_MOUNT; |
| 165 break; | 178 break; |
| (...skipping 17 matching lines...) Expand all Loading... | |
| 183 if (creation_context_->creation_type == NEW_USER) { | 196 if (creation_context_->creation_type == NEW_USER) { |
| 184 // Generate master password. | 197 // Generate master password. |
| 185 char master_key_bytes[kMasterKeySize]; | 198 char master_key_bytes[kMasterKeySize]; |
| 186 crypto::RandBytes(&master_key_bytes, sizeof(master_key_bytes)); | 199 crypto::RandBytes(&master_key_bytes, sizeof(master_key_bytes)); |
| 187 creation_context_->master_key = StringToLowerASCII(base::HexEncode( | 200 creation_context_->master_key = StringToLowerASCII(base::HexEncode( |
| 188 reinterpret_cast<const void*>(master_key_bytes), | 201 reinterpret_cast<const void*>(master_key_bytes), |
| 189 sizeof(master_key_bytes))); | 202 sizeof(master_key_bytes))); |
| 190 } | 203 } |
| 191 | 204 |
| 192 VLOG(1) << "Adding master key"; | 205 VLOG(1) << "Adding master key"; |
| 193 authenticator_->AddMasterKey(creation_context_->local_user_id, | 206 SupervisedUserAuthentication* authentication = UserManager::Get()-> |
| 194 creation_context_->password, | 207 GetSupervisedUserManager()->GetSupervisedUserAuthentication(); |
| 195 creation_context_->master_key); | 208 |
| 209 authenticator_->AddMasterKey( | |
|
Nikita (slow)
2013/12/09 16:42:16
nit: Can you please change alignment in the same w
Denis Kuznetsov (DE-MUC)
2013/12/12 19:45:24
Done.
| |
| 210 creation_context_->local_user_id, | |
| 211 authentication->TransformPassword( | |
| 212 creation_context_->local_user_id, | |
| 213 creation_context_->password), | |
| 214 creation_context_->master_key); | |
| 196 } | 215 } |
| 197 | 216 |
| 198 void LocallyManagedUserCreationController::OnAddKeySuccess() { | 217 void LocallyManagedUserCreationController::OnAddKeySuccess() { |
| 199 creation_context_->registration_utility = | 218 creation_context_->registration_utility = |
| 200 ManagedUserRegistrationUtility::Create( | 219 ManagedUserRegistrationUtility::Create( |
| 201 creation_context_->manager_profile); | 220 creation_context_->manager_profile); |
| 202 | 221 |
| 203 VLOG(1) << "Creating user on server"; | 222 VLOG(1) << "Creating user on server"; |
| 223 // TODO(antrim) : add password data to sync once API is ready. | |
|
Nikita (slow)
2013/12/09 16:42:16
nit: Bug # is missing. Just to make sure that we'r
Denis Kuznetsov (DE-MUC)
2013/12/12 19:45:24
Done.
| |
| 204 ManagedUserRegistrationInfo info(creation_context_->display_name, | 224 ManagedUserRegistrationInfo info(creation_context_->display_name, |
| 205 creation_context_->avatar_index); | 225 creation_context_->avatar_index); |
| 206 info.master_key = creation_context_->master_key; | 226 info.master_key = creation_context_->master_key; |
| 207 timeout_timer_.Stop(); | 227 timeout_timer_.Stop(); |
| 208 creation_context_->registration_utility->Register( | 228 creation_context_->registration_utility->Register( |
| 209 creation_context_->sync_user_id, | 229 creation_context_->sync_user_id, |
| 210 info, | 230 info, |
| 211 base::Bind(&LocallyManagedUserCreationController::RegistrationCallback, | 231 base::Bind(&LocallyManagedUserCreationController::RegistrationCallback, |
| 212 weak_factory_.GetWeakPtr())); | 232 weak_factory_.GetWeakPtr())); |
| 213 } | 233 } |
| (...skipping 66 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 280 // sync service fails to use it. | 300 // sync service fails to use it. |
| 281 UserManager::Get()->SaveUserOAuthStatus(creation_context_->local_user_id, | 301 UserManager::Get()->SaveUserOAuthStatus(creation_context_->local_user_id, |
| 282 User::OAUTH2_TOKEN_STATUS_VALID); | 302 User::OAUTH2_TOKEN_STATUS_VALID); |
| 283 UserManager::Get()->GetSupervisedUserManager()-> | 303 UserManager::Get()->GetSupervisedUserManager()-> |
| 284 CommitCreationTransaction(); | 304 CommitCreationTransaction(); |
| 285 if (consumer_) | 305 if (consumer_) |
| 286 consumer_->OnCreationSuccess(); | 306 consumer_->OnCreationSuccess(); |
| 287 } | 307 } |
| 288 | 308 |
| 289 } // namespace chromeos | 309 } // namespace chromeos |
| OLD | NEW |