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

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

Issue 447013003: Use GAIA headers to distinguish between GAIA and SAML IdP cookies (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Clarified comment. Created 6 years, 4 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
« no previous file with comments | « chrome/browser/resources/gaia_auth/background.js ('k') | no next file » | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
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 367 matching lines...) Expand 10 before | Expand all | Expand 10 after
378 378
379 std::string redirect_url = continue_url; 379 std::string redirect_url = continue_url;
380 380
381 std::string email; 381 std::string email;
382 if (GetQueryParameter(request.content, "Email", &email) && 382 if (GetQueryParameter(request.content, "Email", &email) &&
383 saml_account_idp_map_.find(email) != saml_account_idp_map_.end()) { 383 saml_account_idp_map_.find(email) != saml_account_idp_map_.end()) {
384 GURL url(saml_account_idp_map_[email]); 384 GURL url(saml_account_idp_map_[email]);
385 url = net::AppendQueryParameter(url, "SAMLRequest", "fake_request"); 385 url = net::AppendQueryParameter(url, "SAMLRequest", "fake_request");
386 url = net::AppendQueryParameter(url, "RelayState", continue_url); 386 url = net::AppendQueryParameter(url, "RelayState", continue_url);
387 redirect_url = url.spec(); 387 redirect_url = url.spec();
388 http_response->AddCustomHeader("Google-Accounts-SAML", "Start");
388 } else if (!merge_session_params_.auth_sid_cookie.empty() && 389 } else if (!merge_session_params_.auth_sid_cookie.empty() &&
389 !merge_session_params_.auth_lsid_cookie.empty()) { 390 !merge_session_params_.auth_lsid_cookie.empty()) {
390 SetCookies(http_response, 391 SetCookies(http_response,
391 merge_session_params_.auth_sid_cookie, 392 merge_session_params_.auth_sid_cookie,
392 merge_session_params_.auth_lsid_cookie); 393 merge_session_params_.auth_lsid_cookie);
393 } 394 }
394 395
395 http_response->set_code(net::HTTP_TEMPORARY_REDIRECT); 396 http_response->set_code(net::HTTP_TEMPORARY_REDIRECT);
396 http_response->AddCustomHeader("Location", redirect_url); 397 http_response->AddCustomHeader("Location", redirect_url);
397 } 398 }
398 399
399 void FakeGaia::HandleSSO(const HttpRequest& request, 400 void FakeGaia::HandleSSO(const HttpRequest& request,
400 BasicHttpResponse* http_response) { 401 BasicHttpResponse* http_response) {
401 if (!merge_session_params_.auth_sid_cookie.empty() && 402 if (!merge_session_params_.auth_sid_cookie.empty() &&
402 !merge_session_params_.auth_lsid_cookie.empty()) { 403 !merge_session_params_.auth_lsid_cookie.empty()) {
403 SetCookies(http_response, 404 SetCookies(http_response,
404 merge_session_params_.auth_sid_cookie, 405 merge_session_params_.auth_sid_cookie,
405 merge_session_params_.auth_lsid_cookie); 406 merge_session_params_.auth_lsid_cookie);
406 } 407 }
407 std::string relay_state; 408 std::string relay_state;
408 GetQueryParameter(request.content, "RelayState", &relay_state); 409 GetQueryParameter(request.content, "RelayState", &relay_state);
409 std::string redirect_url = relay_state; 410 std::string redirect_url = relay_state;
410 http_response->set_code(net::HTTP_TEMPORARY_REDIRECT); 411 http_response->set_code(net::HTTP_TEMPORARY_REDIRECT);
411 http_response->AddCustomHeader("Location", redirect_url); 412 http_response->AddCustomHeader("Location", redirect_url);
413 http_response->AddCustomHeader("Google-Accounts-SAML", "End");
412 } 414 }
413 415
414 void FakeGaia::HandleAuthToken(const HttpRequest& request, 416 void FakeGaia::HandleAuthToken(const HttpRequest& request,
415 BasicHttpResponse* http_response) { 417 BasicHttpResponse* http_response) {
416 std::string scope; 418 std::string scope;
417 GetQueryParameter(request.content, "scope", &scope); 419 GetQueryParameter(request.content, "scope", &scope);
418 420
419 std::string grant_type; 421 std::string grant_type;
420 if (!GetQueryParameter(request.content, "grant_type", &grant_type)) { 422 if (!GetQueryParameter(request.content, "grant_type", &grant_type)) {
421 http_response->set_code(net::HTTP_BAD_REQUEST); 423 http_response->set_code(net::HTTP_BAD_REQUEST);
(...skipping 102 matching lines...) Expand 10 before | Expand all | Expand 10 after
524 } 526 }
525 http_response->set_code(net::HTTP_BAD_REQUEST); 527 http_response->set_code(net::HTTP_BAD_REQUEST);
526 } 528 }
527 529
528 void FakeGaia::HandleListAccounts(const HttpRequest& request, 530 void FakeGaia::HandleListAccounts(const HttpRequest& request,
529 BasicHttpResponse* http_response) { 531 BasicHttpResponse* http_response) {
530 http_response->set_content(base::StringPrintf( 532 http_response->set_content(base::StringPrintf(
531 kListAccountsResponseFormat, merge_session_params_.email.c_str())); 533 kListAccountsResponseFormat, merge_session_params_.email.c_str()));
532 http_response->set_code(net::HTTP_OK); 534 http_response->set_code(net::HTTP_OK);
533 } 535 }
OLDNEW
« no previous file with comments | « chrome/browser/resources/gaia_auth/background.js ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698