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

Side by Side Diff: chrome/common/net/gaia/oauth2_api_call_flow.cc

Issue 10080016: Set the authorization header when calling an API. Otherwise, no API call will succeed. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src/
Patch Set: Created 8 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 "chrome/common/net/gaia/oauth2_api_call_flow.h" 5 #include "chrome/common/net/gaia/oauth2_api_call_flow.h"
6 6
7 #include <string> 7 #include <string>
8 #include <vector> 8 #include <vector>
9 9
10 #include "base/basictypes.h" 10 #include "base/basictypes.h"
11 #include "base/stringprintf.h"
11 #include "chrome/common/net/gaia/gaia_urls.h" 12 #include "chrome/common/net/gaia/gaia_urls.h"
12 #include "net/base/escape.h" 13 #include "net/base/escape.h"
13 #include "net/base/load_flags.h" 14 #include "net/base/load_flags.h"
14 #include "net/http/http_status_code.h" 15 #include "net/http/http_status_code.h"
15 #include "net/url_request/url_request_context_getter.h" 16 #include "net/url_request/url_request_context_getter.h"
16 #include "net/url_request/url_request_status.h" 17 #include "net/url_request/url_request_status.h"
17 18
18 using content::URLFetcher; 19 using content::URLFetcher;
19 using content::URLFetcherDelegate; 20 using content::URLFetcherDelegate;
20 using net::ResponseCookies; 21 using net::ResponseCookies;
21 using net::URLRequestContextGetter; 22 using net::URLRequestContextGetter;
22 using net::URLRequestStatus; 23 using net::URLRequestStatus;
23 24
25 namespace {
26 static const char kAuthorizationHeaderFormat[] =
27 "Authorization: Bearer %s";
28
29 static std::string MakeAuthorizationHeader(const std::string& auth_token) {
30 return StringPrintf(kAuthorizationHeaderFormat, auth_token.c_str());
31 }
32 } // namespace
33
24 OAuth2ApiCallFlow::OAuth2ApiCallFlow( 34 OAuth2ApiCallFlow::OAuth2ApiCallFlow(
25 net::URLRequestContextGetter* context, 35 net::URLRequestContextGetter* context,
26 const std::string& refresh_token, 36 const std::string& refresh_token,
27 const std::string& access_token, 37 const std::string& access_token,
28 const std::vector<std::string>& scopes) 38 const std::vector<std::string>& scopes)
29 : context_(context), 39 : context_(context),
30 refresh_token_(refresh_token), 40 refresh_token_(refresh_token),
31 access_token_(access_token), 41 access_token_(access_token),
32 scopes_(scopes), 42 scopes_(scopes),
33 state_(INITIAL), 43 state_(INITIAL),
(...skipping 105 matching lines...) Expand 10 before | Expand all | Expand 10 after
139 bool empty_body = body.empty(); 149 bool empty_body = body.empty();
140 URLFetcher* result = URLFetcher::Create( 150 URLFetcher* result = URLFetcher::Create(
141 0, 151 0,
142 CreateApiCallUrl(), 152 CreateApiCallUrl(),
143 empty_body ? URLFetcher::GET : URLFetcher::POST, 153 empty_body ? URLFetcher::GET : URLFetcher::POST,
144 this); 154 this);
145 155
146 result->SetRequestContext(context_); 156 result->SetRequestContext(context_);
147 result->SetLoadFlags(net::LOAD_DO_NOT_SEND_COOKIES | 157 result->SetLoadFlags(net::LOAD_DO_NOT_SEND_COOKIES |
148 net::LOAD_DO_NOT_SAVE_COOKIES); 158 net::LOAD_DO_NOT_SAVE_COOKIES);
159 result->AddExtraRequestHeader(MakeAuthorizationHeader(access_token_));
149 160
150 if (!empty_body) 161 if (!empty_body)
151 result->SetUploadData("application/x-www-form-urlencoded", body); 162 result->SetUploadData("application/x-www-form-urlencoded", body);
152 163
153 return result; 164 return result;
154 } 165 }
OLDNEW
« no previous file with comments | « chrome/common/net/gaia/oauth2_api_call_flow.h ('k') | chrome/common/net/gaia/oauth2_api_call_flow_unittest.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698