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

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

Issue 13145003: Rewrite std::string("") to std::string(), Linux edition. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Ugh Created 7 years, 8 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) 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 "google_apis/gaia/gaia_auth_fetcher.h" 5 #include "google_apis/gaia/gaia_auth_fetcher.h"
6 6
7 #include <algorithm> 7 #include <algorithm>
8 #include <string> 8 #include <string>
9 #include <utility> 9 #include <utility>
10 #include <vector> 10 #include <vector>
(...skipping 599 matching lines...) Expand 10 before | Expand all | Expand 10 after
610 // Must outlive fetcher_. 610 // Must outlive fetcher_.
611 request_body_ = MakeClientLoginBody(username, 611 request_body_ = MakeClientLoginBody(username,
612 password, 612 password,
613 source_, 613 source_,
614 service, 614 service,
615 login_token, 615 login_token,
616 login_captcha, 616 login_captcha,
617 allow_hosted_accounts); 617 allow_hosted_accounts);
618 fetcher_.reset(CreateGaiaFetcher(getter_, 618 fetcher_.reset(CreateGaiaFetcher(getter_,
619 request_body_, 619 request_body_,
620 "", 620 std::string(),
621 client_login_gurl_, 621 client_login_gurl_,
622 kLoadFlagsIgnoreCookies, 622 kLoadFlagsIgnoreCookies,
623 this)); 623 this));
624 fetch_pending_ = true; 624 fetch_pending_ = true;
625 fetcher_->Start(); 625 fetcher_->Start();
626 } 626 }
627 627
628 void GaiaAuthFetcher::StartIssueAuthToken(const std::string& sid, 628 void GaiaAuthFetcher::StartIssueAuthToken(const std::string& sid,
629 const std::string& lsid, 629 const std::string& lsid,
630 const char* const service) { 630 const char* const service) {
631 DCHECK(!fetch_pending_) << "Tried to fetch two things at once!"; 631 DCHECK(!fetch_pending_) << "Tried to fetch two things at once!";
632 632
633 DVLOG(1) << "Starting IssueAuthToken for: " << service; 633 DVLOG(1) << "Starting IssueAuthToken for: " << service;
634 requested_service_ = service; 634 requested_service_ = service;
635 request_body_ = MakeIssueAuthTokenBody(sid, lsid, service); 635 request_body_ = MakeIssueAuthTokenBody(sid, lsid, service);
636 fetcher_.reset(CreateGaiaFetcher(getter_, 636 fetcher_.reset(CreateGaiaFetcher(getter_,
637 request_body_, 637 request_body_,
638 "", 638 std::string(),
639 issue_auth_token_gurl_, 639 issue_auth_token_gurl_,
640 kLoadFlagsIgnoreCookies, 640 kLoadFlagsIgnoreCookies,
641 this)); 641 this));
642 fetch_pending_ = true; 642 fetch_pending_ = true;
643 fetcher_->Start(); 643 fetcher_->Start();
644 } 644 }
645 645
646 void GaiaAuthFetcher::StartLsoForOAuthLoginTokenExchange( 646 void GaiaAuthFetcher::StartLsoForOAuthLoginTokenExchange(
647 const std::string& auth_token) { 647 const std::string& auth_token) {
648 DCHECK(!fetch_pending_) << "Tried to fetch two things at once!"; 648 DCHECK(!fetch_pending_) << "Tried to fetch two things at once!";
(...skipping 13 matching lines...) Expand all
662 fetcher_->Start(); 662 fetcher_->Start();
663 } 663 }
664 664
665 void GaiaAuthFetcher::StartRevokeOAuth2Token(const std::string& auth_token) { 665 void GaiaAuthFetcher::StartRevokeOAuth2Token(const std::string& auth_token) {
666 DCHECK(!fetch_pending_) << "Tried to fetch two things at once!"; 666 DCHECK(!fetch_pending_) << "Tried to fetch two things at once!";
667 667
668 DVLOG(1) << "Starting OAuth2 token revocation"; 668 DVLOG(1) << "Starting OAuth2 token revocation";
669 request_body_ = MakeRevokeTokenBody(auth_token); 669 request_body_ = MakeRevokeTokenBody(auth_token);
670 fetcher_.reset(CreateGaiaFetcher(getter_, 670 fetcher_.reset(CreateGaiaFetcher(getter_,
671 request_body_, 671 request_body_,
672 "", 672 std::string(),
673 oauth2_revoke_gurl_, 673 oauth2_revoke_gurl_,
674 kLoadFlagsIgnoreCookies, 674 kLoadFlagsIgnoreCookies,
675 this)); 675 this));
676 fetch_pending_ = true; 676 fetch_pending_ = true;
677 fetcher_->Start(); 677 fetcher_->Start();
678 } 678 }
679 679
680 void GaiaAuthFetcher::StartCookieForOAuthLoginTokenExchange( 680 void GaiaAuthFetcher::StartCookieForOAuthLoginTokenExchange(
681 const std::string& session_index) { 681 const std::string& session_index) {
682 DCHECK(!fetch_pending_) << "Tried to fetch two things at once!"; 682 DCHECK(!fetch_pending_) << "Tried to fetch two things at once!";
683 683
684 DVLOG(1) << "Starting OAuth login token fetch with cookie jar"; 684 DVLOG(1) << "Starting OAuth login token fetch with cookie jar";
685 request_body_ = MakeGetAuthCodeBody(); 685 request_body_ = MakeGetAuthCodeBody();
686 686
687 std::string url = GaiaUrls::GetInstance()->client_login_to_oauth2_url(); 687 std::string url = GaiaUrls::GetInstance()->client_login_to_oauth2_url();
688 if (!session_index.empty()) 688 if (!session_index.empty())
689 url += "?authuser=" + session_index; 689 url += "?authuser=" + session_index;
690 690
691 client_login_to_oauth2_gurl_ = GURL(url); 691 client_login_to_oauth2_gurl_ = GURL(url);
692 692
693 fetcher_.reset(CreateGaiaFetcher(getter_, 693 fetcher_.reset(CreateGaiaFetcher(getter_,
694 request_body_, 694 request_body_,
695 "", 695 std::string(),
696 client_login_to_oauth2_gurl_, 696 client_login_to_oauth2_gurl_,
697 net::LOAD_NORMAL, 697 net::LOAD_NORMAL,
698 this)); 698 this));
699 fetch_pending_ = true; 699 fetch_pending_ = true;
700 fetcher_->Start(); 700 fetcher_->Start();
701 } 701 }
702 702
703 void GaiaAuthFetcher::StartAuthCodeForOAuth2TokenExchange( 703 void GaiaAuthFetcher::StartAuthCodeForOAuth2TokenExchange(
704 const std::string& auth_code) { 704 const std::string& auth_code) {
705 DCHECK(!fetch_pending_) << "Tried to fetch two things at once!"; 705 DCHECK(!fetch_pending_) << "Tried to fetch two things at once!";
706 706
707 DVLOG(1) << "Starting OAuth token pair fetch"; 707 DVLOG(1) << "Starting OAuth token pair fetch";
708 request_body_ = MakeGetTokenPairBody(auth_code); 708 request_body_ = MakeGetTokenPairBody(auth_code);
709 fetcher_.reset(CreateGaiaFetcher(getter_, 709 fetcher_.reset(CreateGaiaFetcher(getter_,
710 request_body_, 710 request_body_,
711 "", 711 std::string(),
712 oauth2_token_gurl_, 712 oauth2_token_gurl_,
713 kLoadFlagsIgnoreCookies, 713 kLoadFlagsIgnoreCookies,
714 this)); 714 this));
715 fetch_pending_ = true; 715 fetch_pending_ = true;
716 fetcher_->Start(); 716 fetcher_->Start();
717 } 717 }
718 718
719 void GaiaAuthFetcher::StartGetUserInfo(const std::string& lsid) { 719 void GaiaAuthFetcher::StartGetUserInfo(const std::string& lsid) {
720 DCHECK(!fetch_pending_) << "Tried to fetch two things at once!"; 720 DCHECK(!fetch_pending_) << "Tried to fetch two things at once!";
721 721
722 DVLOG(1) << "Starting GetUserInfo for lsid=" << lsid; 722 DVLOG(1) << "Starting GetUserInfo for lsid=" << lsid;
723 request_body_ = MakeGetUserInfoBody(lsid); 723 request_body_ = MakeGetUserInfoBody(lsid);
724 fetcher_.reset(CreateGaiaFetcher(getter_, 724 fetcher_.reset(CreateGaiaFetcher(getter_,
725 request_body_, 725 request_body_,
726 "", 726 std::string(),
727 get_user_info_gurl_, 727 get_user_info_gurl_,
728 kLoadFlagsIgnoreCookies, 728 kLoadFlagsIgnoreCookies,
729 this)); 729 this));
730 fetch_pending_ = true; 730 fetch_pending_ = true;
731 fetcher_->Start(); 731 fetcher_->Start();
732 } 732 }
733 733
734 void GaiaAuthFetcher::StartMergeSession(const std::string& uber_token) { 734 void GaiaAuthFetcher::StartMergeSession(const std::string& uber_token) {
735 DCHECK(!fetch_pending_) << "Tried to fetch two things at once!"; 735 DCHECK(!fetch_pending_) << "Tried to fetch two things at once!";
736 736
737 DVLOG(1) << "Starting MergeSession with uber_token=" << uber_token; 737 DVLOG(1) << "Starting MergeSession with uber_token=" << uber_token;
738 738
739 // The continue URL is a required parameter of the MergeSession API, but in 739 // The continue URL is a required parameter of the MergeSession API, but in
740 // this case we don't actually need or want to navigate to it. Setting it to 740 // this case we don't actually need or want to navigate to it. Setting it to
741 // an arbitrary Google URL. 741 // an arbitrary Google URL.
742 // 742 //
743 // In order for the new session to be merged correctly, the server needs to 743 // In order for the new session to be merged correctly, the server needs to
744 // know what sessions already exist in the browser. The fetcher needs to be 744 // know what sessions already exist in the browser. The fetcher needs to be
745 // created such that it sends the cookies with the request, which is 745 // created such that it sends the cookies with the request, which is
746 // different from all other requests the fetcher can make. 746 // different from all other requests the fetcher can make.
747 std::string continue_url("http://www.google.com"); 747 std::string continue_url("http://www.google.com");
748 request_body_ = MakeMergeSessionBody(uber_token, continue_url, source_); 748 request_body_ = MakeMergeSessionBody(uber_token, continue_url, source_);
749 fetcher_.reset(CreateGaiaFetcher(getter_, 749 fetcher_.reset(CreateGaiaFetcher(getter_,
750 request_body_, 750 request_body_,
751 "", 751 std::string(),
752 merge_session_gurl_, 752 merge_session_gurl_,
753 net::LOAD_NORMAL, 753 net::LOAD_NORMAL,
754 this)); 754 this));
755 fetch_pending_ = true; 755 fetch_pending_ = true;
756 fetcher_->Start(); 756 fetcher_->Start();
757 } 757 }
758 758
759 void GaiaAuthFetcher::StartTokenFetchForUberAuthExchange( 759 void GaiaAuthFetcher::StartTokenFetchForUberAuthExchange(
760 const std::string& access_token) { 760 const std::string& access_token) {
761 DCHECK(!fetch_pending_) << "Tried to fetch two things at once!"; 761 DCHECK(!fetch_pending_) << "Tried to fetch two things at once!";
762 762
763 DVLOG(1) << "Starting StartTokenFetchForUberAuthExchange with access_token=" 763 DVLOG(1) << "Starting StartTokenFetchForUberAuthExchange with access_token="
764 << access_token; 764 << access_token;
765 std::string authentication_header = 765 std::string authentication_header =
766 base::StringPrintf(kOAuthHeaderFormat, access_token.c_str()); 766 base::StringPrintf(kOAuthHeaderFormat, access_token.c_str());
767 fetcher_.reset(CreateGaiaFetcher(getter_, 767 fetcher_.reset(CreateGaiaFetcher(getter_,
768 "", 768 std::string(),
769 authentication_header, 769 authentication_header,
770 uberauth_token_gurl_, 770 uberauth_token_gurl_,
771 kLoadFlagsIgnoreCookies, 771 kLoadFlagsIgnoreCookies,
772 this)); 772 this));
773 fetch_pending_ = true; 773 fetch_pending_ = true;
774 fetcher_->Start(); 774 fetcher_->Start();
775 } 775 }
776 776
777 void GaiaAuthFetcher::StartClientOAuth(const std::string& username, 777 void GaiaAuthFetcher::StartClientOAuth(const std::string& username,
778 const std::string& password, 778 const std::string& password,
779 const std::vector<std::string>& scopes, 779 const std::vector<std::string>& scopes,
780 const std::string& persistent_id, 780 const std::string& persistent_id,
781 const std::string& locale) { 781 const std::string& locale) {
782 DCHECK(!fetch_pending_) << "Tried to fetch two things at once!"; 782 DCHECK(!fetch_pending_) << "Tried to fetch two things at once!";
783 783
784 request_body_ = MakeClientOAuthBody(username, password, scopes, persistent_id, 784 request_body_ = MakeClientOAuthBody(username, password, scopes, persistent_id,
785 source_, locale); 785 source_, locale);
786 fetcher_.reset(CreateGaiaFetcher(getter_, 786 fetcher_.reset(CreateGaiaFetcher(getter_,
787 request_body_, 787 request_body_,
788 "", 788 std::string(),
789 client_oauth_gurl_, 789 client_oauth_gurl_,
790 kLoadFlagsIgnoreCookies, 790 kLoadFlagsIgnoreCookies,
791 this)); 791 this));
792 fetch_pending_ = true; 792 fetch_pending_ = true;
793 fetcher_->Start(); 793 fetcher_->Start();
794 } 794 }
795 795
796 void GaiaAuthFetcher::StartClientOAuthChallengeResponse( 796 void GaiaAuthFetcher::StartClientOAuthChallengeResponse(
797 GoogleServiceAuthError::State type, 797 GoogleServiceAuthError::State type,
798 const std::string& token, 798 const std::string& token,
799 const std::string& solution) { 799 const std::string& solution) {
800 DCHECK(!fetch_pending_) << "Tried to fetch two things at once!"; 800 DCHECK(!fetch_pending_) << "Tried to fetch two things at once!";
801 801
802 std::string name; 802 std::string name;
803 switch (type) { 803 switch (type) {
804 case GoogleServiceAuthError::CAPTCHA_REQUIRED: 804 case GoogleServiceAuthError::CAPTCHA_REQUIRED:
805 name = kCaptcha; 805 name = kCaptcha;
806 break; 806 break;
807 case GoogleServiceAuthError::TWO_FACTOR: 807 case GoogleServiceAuthError::TWO_FACTOR:
808 name = kTwoFactor; 808 name = kTwoFactor;
809 break; 809 break;
810 default: 810 default:
811 NOTREACHED(); 811 NOTREACHED();
812 } 812 }
813 813
814 request_body_ = MakeClientOAuthChallengeResponseBody(name, token, solution); 814 request_body_ = MakeClientOAuthChallengeResponseBody(name, token, solution);
815 fetcher_.reset(CreateGaiaFetcher(getter_, 815 fetcher_.reset(CreateGaiaFetcher(getter_,
816 request_body_, 816 request_body_,
817 "", 817 std::string(),
818 client_oauth_gurl_, 818 client_oauth_gurl_,
819 kLoadFlagsIgnoreCookies, 819 kLoadFlagsIgnoreCookies,
820 this)); 820 this));
821 fetch_pending_ = true; 821 fetch_pending_ = true;
822 fetcher_->Start(); 822 fetcher_->Start();
823 } 823 }
824 824
825 void GaiaAuthFetcher::StartOAuthLogin(const std::string& access_token, 825 void GaiaAuthFetcher::StartOAuthLogin(const std::string& access_token,
826 const std::string& service) { 826 const std::string& service) {
827 DCHECK(!fetch_pending_) << "Tried to fetch two things at once!"; 827 DCHECK(!fetch_pending_) << "Tried to fetch two things at once!";
(...skipping 329 matching lines...) Expand 10 before | Expand all | Expand 10 after
1157 NOTREACHED(); 1157 NOTREACHED();
1158 } 1158 }
1159 } 1159 }
1160 1160
1161 // static 1161 // static
1162 bool GaiaAuthFetcher::IsSecondFactorSuccess( 1162 bool GaiaAuthFetcher::IsSecondFactorSuccess(
1163 const std::string& alleged_error) { 1163 const std::string& alleged_error) {
1164 return alleged_error.find(kSecondFactor) != 1164 return alleged_error.find(kSecondFactor) !=
1165 std::string::npos; 1165 std::string::npos;
1166 } 1166 }
OLDNEW
« no previous file with comments | « extensions/common/matcher/url_matcher_unittest.cc ('k') | google_apis/gaia/gaia_auth_fetcher_unittest.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698