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

Side by Side Diff: google_apis/gaia/fake_gaia.cc

Issue 473153002: 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: Fix one unit test, progress on second 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) 2013 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2013 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 "google_apis/gaia/fake_gaia.h" 5 #include "google_apis/gaia/fake_gaia.h"
6 6
7 #include <vector> 7 #include <vector>
8 8
9 #include "base/base_paths.h" 9 #include "base/base_paths.h"
10 #include "base/bind.h" 10 #include "base/bind.h"
(...skipping 124 matching lines...) Expand 10 before | Expand all | Expand 10 after
135 base::FilePath source_root_dir; 135 base::FilePath source_root_dir;
136 PathService::Get(base::DIR_SOURCE_ROOT, &source_root_dir); 136 PathService::Get(base::DIR_SOURCE_ROOT, &source_root_dir);
137 CHECK(base::ReadFileToString( 137 CHECK(base::ReadFileToString(
138 source_root_dir.Append(base::FilePath(kServiceLogin)), 138 source_root_dir.Append(base::FilePath(kServiceLogin)),
139 &service_login_response_)); 139 &service_login_response_));
140 } 140 }
141 141
142 FakeGaia::~FakeGaia() {} 142 FakeGaia::~FakeGaia() {}
143 143
144 void FakeGaia::SetFakeMergeSessionParams( 144 void FakeGaia::SetFakeMergeSessionParams(
145 const std::string& gaia_id,
145 const std::string& email, 146 const std::string& email,
146 const std::string& auth_sid_cookie, 147 const std::string& auth_sid_cookie,
147 const std::string& auth_lsid_cookie) { 148 const std::string& auth_lsid_cookie) {
148 FakeGaia::MergeSessionParams params; 149 FakeGaia::MergeSessionParams params;
149 params.auth_sid_cookie = auth_sid_cookie; 150 params.auth_sid_cookie = auth_sid_cookie;
150 params.auth_lsid_cookie = auth_lsid_cookie; 151 params.auth_lsid_cookie = auth_lsid_cookie;
151 params.auth_code = kTestAuthCode; 152 params.auth_code = kTestAuthCode;
152 params.refresh_token = kTestRefreshToken; 153 params.refresh_token = kTestRefreshToken;
153 params.access_token = kTestAuthLoginAccessToken; 154 params.access_token = kTestAuthLoginAccessToken;
154 params.gaia_uber_token = kTestGaiaUberToken; 155 params.gaia_uber_token = kTestGaiaUberToken;
155 params.session_sid_cookie = kTestSessionSIDCookie; 156 params.session_sid_cookie = kTestSessionSIDCookie;
156 params.session_lsid_cookie = kTestSessionLSIDCookie; 157 params.session_lsid_cookie = kTestSessionLSIDCookie;
157 params.email = email; 158 params.email = email;
159 params.gaia_id = gaia_id;
158 SetMergeSessionParams(params); 160 SetMergeSessionParams(params);
159 } 161 }
160 162
161 void FakeGaia::SetMergeSessionParams( 163 void FakeGaia::SetMergeSessionParams(
162 const MergeSessionParams& params) { 164 const MergeSessionParams& params) {
163 merge_session_params_ = params; 165 merge_session_params_ = params;
164 } 166 }
165 167
166 void FakeGaia::Initialize() { 168 void FakeGaia::Initialize() {
167 GaiaUrls* gaia_urls = GaiaUrls::GetInstance(); 169 GaiaUrls* gaia_urls = GaiaUrls::GetInstance();
(...skipping 27 matching lines...) Expand all
195 // Handles /oauth2/v2/tokeninfo GAIA call. 197 // Handles /oauth2/v2/tokeninfo GAIA call.
196 REGISTER_RESPONSE_HANDLER( 198 REGISTER_RESPONSE_HANDLER(
197 gaia_urls->oauth2_token_info_url(), HandleTokenInfo); 199 gaia_urls->oauth2_token_info_url(), HandleTokenInfo);
198 200
199 // Handles /oauth2/v2/IssueToken GAIA call. 201 // Handles /oauth2/v2/IssueToken GAIA call.
200 REGISTER_RESPONSE_HANDLER( 202 REGISTER_RESPONSE_HANDLER(
201 gaia_urls->oauth2_issue_token_url(), HandleIssueToken); 203 gaia_urls->oauth2_issue_token_url(), HandleIssueToken);
202 204
203 // Handles /ListAccounts GAIA call. 205 // Handles /ListAccounts GAIA call.
204 REGISTER_RESPONSE_HANDLER( 206 REGISTER_RESPONSE_HANDLER(
205 gaia_urls->ListAccountsURLWithSource(std::string()), HandleListAccounts); 207 gaia_urls->ListAccountsURLWithSource(std::string()), HandleListAccounts);
bartfab (slow) 2014/10/17 09:54:56 I think the Chrome OS login code may have been the
Roger Tawa OOO till Jul 10th 2014/10/20 16:04:01 Best done in a separate CL.
bartfab (slow) 2014/10/21 14:47:46 Sure. If you are not planning to do this clean-up
206 208
207 // Handles /GetUserInfo GAIA call. 209 // Handles /GetUserInfo GAIA call.
208 REGISTER_RESPONSE_HANDLER( 210 REGISTER_RESPONSE_HANDLER(
209 gaia_urls->get_user_info_url(), HandleGetUserInfo); 211 gaia_urls->get_user_info_url(), HandleGetUserInfo);
210 } 212 }
211 213
212 scoped_ptr<HttpResponse> FakeGaia::HandleRequest(const HttpRequest& request) { 214 scoped_ptr<HttpResponse> FakeGaia::HandleRequest(const HttpRequest& request) {
213 // The scheme and host of the URL is actually not important but required to 215 // The scheme and host of the URL is actually not important but required to
214 // get a valid GURL in order to parse |request.relative_url|. 216 // get a valid GURL in order to parse |request.relative_url|.
215 GURL request_url = GURL("http://localhost").Resolve(request.relative_url); 217 GURL request_url = GURL("http://localhost").Resolve(request.relative_url);
(...skipping 208 matching lines...) Expand 10 before | Expand all | Expand 10 after
424 http_response->AddCustomHeader("Google-Accounts-SAML", "Start"); 426 http_response->AddCustomHeader("Google-Accounts-SAML", "Start");
425 } else if (!merge_session_params_.auth_sid_cookie.empty() && 427 } else if (!merge_session_params_.auth_sid_cookie.empty() &&
426 !merge_session_params_.auth_lsid_cookie.empty()) { 428 !merge_session_params_.auth_lsid_cookie.empty()) {
427 SetCookies(http_response, 429 SetCookies(http_response,
428 merge_session_params_.auth_sid_cookie, 430 merge_session_params_.auth_sid_cookie,
429 merge_session_params_.auth_lsid_cookie); 431 merge_session_params_.auth_lsid_cookie);
430 } 432 }
431 433
432 http_response->set_code(net::HTTP_TEMPORARY_REDIRECT); 434 http_response->set_code(net::HTTP_TEMPORARY_REDIRECT);
433 http_response->AddCustomHeader("Location", redirect_url); 435 http_response->AddCustomHeader("Location", redirect_url);
434 http_response->AddCustomHeader("google-accounts-signin", 436 http_response->AddCustomHeader("google-accounts-signin",
bartfab (slow) 2014/10/17 09:54:56 This line is actually wrong - and was wrong before
Roger Tawa OOO till Jul 10th 2014/10/20 16:04:01 Done.
435 base::StringPrintf("email=\"%s\", sessionindex=0", email.c_str())); 437 base::StringPrintf(
438 "email=\"%s\", obfuscatedid=\"%s\", sessionindex=0",
439 email.c_str(), merge_session_params_.gaia_id.c_str()));
bartfab (slow) 2014/10/17 09:54:56 We have tests that set up multiple accounts and ve
Roger Tawa OOO till Jul 10th 2014/10/20 16:04:01 Not sure you can do that, or that it's needed. To
436 } 440 }
437 441
438 void FakeGaia::HandleSSO(const HttpRequest& request, 442 void FakeGaia::HandleSSO(const HttpRequest& request,
439 BasicHttpResponse* http_response) { 443 BasicHttpResponse* http_response) {
440 if (!merge_session_params_.auth_sid_cookie.empty() && 444 if (!merge_session_params_.auth_sid_cookie.empty() &&
441 !merge_session_params_.auth_lsid_cookie.empty()) { 445 !merge_session_params_.auth_lsid_cookie.empty()) {
442 SetCookies(http_response, 446 SetCookies(http_response,
443 merge_session_params_.auth_sid_cookie, 447 merge_session_params_.auth_sid_cookie,
444 merge_session_params_.auth_lsid_cookie); 448 merge_session_params_.auth_lsid_cookie);
445 } 449 }
(...skipping 127 matching lines...) Expand 10 before | Expand all | Expand 10 after
573 } 577 }
574 578
575 void FakeGaia::HandleGetUserInfo(const HttpRequest& request, 579 void FakeGaia::HandleGetUserInfo(const HttpRequest& request,
576 BasicHttpResponse* http_response) { 580 BasicHttpResponse* http_response) {
577 http_response->set_content(base::StringPrintf( 581 http_response->set_content(base::StringPrintf(
578 "email=%s\ndisplayEmail=%s", 582 "email=%s\ndisplayEmail=%s",
579 merge_session_params_.email.c_str(), 583 merge_session_params_.email.c_str(),
580 merge_session_params_.email.c_str())); 584 merge_session_params_.email.c_str()));
581 http_response->set_code(net::HTTP_OK); 585 http_response->set_code(net::HTTP_OK);
582 } 586 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698