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

Side by Side Diff: chrome/browser/chromeos/login/easy_unlock/bootstrap_user_context_initializer.cc

Issue 1165323004: We should use UserID object to identify users instead of username. Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 5 years, 6 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
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/easy_unlock/bootstrap_user_context_initi alizer.h" 5 #include "chrome/browser/chromeos/login/easy_unlock/bootstrap_user_context_initi alizer.h"
6 6
7 #include <vector> 7 #include <vector>
8 8
9 #include "base/strings/string_util.h" 9 #include "base/strings/string_util.h"
10 #include "chrome/browser/browser_process.h" 10 #include "chrome/browser/browser_process.h"
(...skipping 50 matching lines...) Expand 10 before | Expand all | Expand 10 after
61 client_info.client_id = gaia_urls->oauth2_chrome_client_id(); 61 client_info.client_id = gaia_urls->oauth2_chrome_client_id();
62 client_info.client_secret = gaia_urls->oauth2_chrome_client_secret(); 62 client_info.client_secret = gaia_urls->oauth2_chrome_client_secret();
63 63
64 token_fetcher_.reset( 64 token_fetcher_.reset(
65 new gaia::GaiaOAuthClient(g_browser_process->system_request_context())); 65 new gaia::GaiaOAuthClient(g_browser_process->system_request_context()));
66 token_fetcher_->GetTokensFromAuthCode(client_info, auth_code, kMaxGaiaRetries, 66 token_fetcher_->GetTokensFromAuthCode(client_info, auth_code, kMaxGaiaRetries,
67 this); 67 this);
68 } 68 }
69 69
70 void BootstrapUserContextInitializer::StartCheckExistingKeys() { 70 void BootstrapUserContextInitializer::StartCheckExistingKeys() {
71 const std::string& user_id = user_context_.GetUserID(); 71 const user_manager::UserID& user_id = user_context_.GetUserID();
72 72
73 // Use random key for the first time user. 73 // Use random key for the first time user.
74 if (!user_manager::UserManager::Get()->IsKnownUser(user_id)) { 74 if (!user_manager::UserManager::Get()->IsKnownUser(user_id)) {
75 CreateRandomKey(); 75 CreateRandomKey();
76 return; 76 return;
77 } 77 }
78 78
79 EasyUnlockKeyManager* key_manager = 79 EasyUnlockKeyManager* key_manager =
80 UserSessionManager::GetInstance()->GetEasyUnlockKeyManager(); 80 UserSessionManager::GetInstance()->GetEasyUnlockKeyManager();
81 key_manager->GetDeviceDataList( 81 key_manager->GetDeviceDataList(
(...skipping 17 matching lines...) Expand all
99 service->AddObserver(this); 99 service->AddObserver(this);
100 100
101 static_cast<EasyUnlockServiceSignin*>(service) 101 static_cast<EasyUnlockServiceSignin*>(service)
102 ->SetCurrentUser(user_context_.GetUserID()); 102 ->SetCurrentUser(user_context_.GetUserID());
103 OnScreenlockStateChanged(service->GetScreenlockState()); 103 OnScreenlockStateChanged(service->GetScreenlockState());
104 } 104 }
105 105
106 void BootstrapUserContextInitializer::OnEasyUnlockAuthenticated( 106 void BootstrapUserContextInitializer::OnEasyUnlockAuthenticated(
107 EasyUnlockAuthAttempt::Type auth_attempt_type, 107 EasyUnlockAuthAttempt::Type auth_attempt_type,
108 bool success, 108 bool success,
109 const std::string& user_id, 109 const user_manager::UserID& user_id,
110 const std::string& key_secret, 110 const std::string& key_secret,
111 const std::string& key_label) { 111 const std::string& key_label) {
112 DCHECK_EQ(EasyUnlockAuthAttempt::TYPE_SIGNIN, auth_attempt_type); 112 DCHECK_EQ(EasyUnlockAuthAttempt::TYPE_SIGNIN, auth_attempt_type);
113 if (!success || key_secret.empty()) { 113 if (!success || key_secret.empty()) {
114 LOG(ERROR) << "Failed to sign-in using existing Smart lock key."; 114 LOG(ERROR) << "Failed to sign-in using existing Smart lock key.";
115 Notify(false); 115 Notify(false);
116 return; 116 return;
117 } 117 }
118 118
119 user_context_.SetKey(Key(key_secret)); 119 user_context_.SetKey(Key(key_secret));
(...skipping 49 matching lines...) Expand 10 before | Expand all | Expand 10 after
169 scoped_ptr<base::DictionaryValue> user_info) { 169 scoped_ptr<base::DictionaryValue> user_info) {
170 std::string email; 170 std::string email;
171 std::string gaia_id; 171 std::string gaia_id;
172 if (!user_info->GetString("email", &email) || 172 if (!user_info->GetString("email", &email) ||
173 !user_info->GetString("id", &gaia_id)) { 173 !user_info->GetString("id", &gaia_id)) {
174 LOG(ERROR) << "Bad user info."; 174 LOG(ERROR) << "Bad user info.";
175 Notify(false); 175 Notify(false);
176 return; 176 return;
177 } 177 }
178 178
179 user_context_.SetUserID(email); 179 const user_manager::UserID user_id(gaia_id, email);
180 user_context_.SetGaiaID(gaia_id); 180
181 user_context_.SetUserID(user_id);
181 StartCheckExistingKeys(); 182 StartCheckExistingKeys();
182 } 183 }
183 184
184 void BootstrapUserContextInitializer::OnOAuthError() { 185 void BootstrapUserContextInitializer::OnOAuthError() {
185 LOG(ERROR) << "Auth error."; 186 LOG(ERROR) << "Auth error.";
186 Notify(false); 187 Notify(false);
187 } 188 }
188 189
189 void BootstrapUserContextInitializer::OnNetworkError(int response_code) { 190 void BootstrapUserContextInitializer::OnNetworkError(int response_code) {
190 LOG(ERROR) << "Network error."; 191 LOG(ERROR) << "Network error.";
(...skipping 11 matching lines...) Expand all
202 EasyUnlockService::Get(ProfileHelper::GetSigninProfile()); 203 EasyUnlockService::Get(ProfileHelper::GetSigninProfile());
203 service->RemoveObserver(this); 204 service->RemoveObserver(this);
204 205
205 service->AttemptAuth( 206 service->AttemptAuth(
206 user_context_.GetUserID(), 207 user_context_.GetUserID(),
207 base::Bind(&BootstrapUserContextInitializer::OnEasyUnlockAuthenticated, 208 base::Bind(&BootstrapUserContextInitializer::OnEasyUnlockAuthenticated,
208 weak_ptr_factory_.GetWeakPtr())); 209 weak_ptr_factory_.GetWeakPtr()));
209 } 210 }
210 211
211 } // namespace chromeos 212 } // namespace chromeos
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698