| OLD | NEW |
| 1 // Copyright 2013 The Chromium Authors. All rights reserved. | 1 // Copyright 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 "chrome/browser/managed_mode/managed_user_refresh_token_fetcher.h" | 5 #include "chrome/browser/managed_mode/managed_user_refresh_token_fetcher.h" |
| 6 | 6 |
| 7 #include "base/callback.h" | 7 #include "base/callback.h" |
| 8 #include "base/json/json_reader.h" | 8 #include "base/json/json_reader.h" |
| 9 #include "base/logging.h" | 9 #include "base/logging.h" |
| 10 #include "base/strings/stringprintf.h" | 10 #include "base/strings/stringprintf.h" |
| 11 #include "base/values.h" | 11 #include "base/values.h" |
| 12 #include "google_apis/gaia/gaia_constants.h" | 12 #include "google_apis/gaia/gaia_constants.h" |
| 13 #include "google_apis/gaia/gaia_oauth_client.h" | 13 #include "google_apis/gaia/gaia_oauth_client.h" |
| 14 #include "google_apis/gaia/gaia_urls.h" | 14 #include "google_apis/gaia/gaia_urls.h" |
| 15 #include "google_apis/gaia/google_service_auth_error.h" | 15 #include "google_apis/gaia/google_service_auth_error.h" |
| 16 #include "google_apis/gaia/oauth2_api_call_flow.h" | 16 #include "google_apis/gaia/oauth2_api_call_flow.h" |
| 17 #include "google_apis/gaia/oauth2_token_service.h" | 17 #include "google_apis/gaia/oauth2_token_service.h" |
| 18 #include "net/base/escape.h" | 18 #include "net/base/escape.h" |
| 19 #include "net/base/load_flags.h" | 19 #include "net/base/load_flags.h" |
| 20 #include "net/base/net_errors.h" | 20 #include "net/base/net_errors.h" |
| 21 #include "net/http/http_status_code.h" | 21 #include "net/http/http_status_code.h" |
| 22 #include "net/url_request/url_fetcher.h" | 22 #include "net/url_request/url_fetcher.h" |
| 23 #include "net/url_request/url_request_status.h" | 23 #include "net/url_request/url_request_status.h" |
| 24 | 24 |
| 25 using GaiaConstants::kChromeSyncManagedOAuth2Scope; | 25 using GaiaConstants::kChromeSyncSupervisedOAuth2Scope; |
| 26 using base::Time; | 26 using base::Time; |
| 27 using gaia::GaiaOAuthClient; | 27 using gaia::GaiaOAuthClient; |
| 28 using net::URLFetcher; | 28 using net::URLFetcher; |
| 29 using net::URLFetcherDelegate; | 29 using net::URLFetcherDelegate; |
| 30 using net::URLRequestContextGetter; | 30 using net::URLRequestContextGetter; |
| 31 | 31 |
| 32 namespace { | 32 namespace { |
| 33 | 33 |
| 34 const int kNumRetries = 1; | 34 const int kNumRetries = 1; |
| 35 | 35 |
| (...skipping 116 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 152 url_fetcher_->SetLoadFlags(net::LOAD_DO_NOT_SEND_COOKIES | | 152 url_fetcher_->SetLoadFlags(net::LOAD_DO_NOT_SEND_COOKIES | |
| 153 net::LOAD_DO_NOT_SAVE_COOKIES); | 153 net::LOAD_DO_NOT_SAVE_COOKIES); |
| 154 url_fetcher_->SetAutomaticallyRetryOnNetworkChanges(kNumRetries); | 154 url_fetcher_->SetAutomaticallyRetryOnNetworkChanges(kNumRetries); |
| 155 url_fetcher_->AddExtraRequestHeader( | 155 url_fetcher_->AddExtraRequestHeader( |
| 156 base::StringPrintf(kAuthorizationHeaderFormat, access_token.c_str())); | 156 base::StringPrintf(kAuthorizationHeaderFormat, access_token.c_str())); |
| 157 | 157 |
| 158 std::string body = base::StringPrintf( | 158 std::string body = base::StringPrintf( |
| 159 kIssueTokenBodyFormat, | 159 kIssueTokenBodyFormat, |
| 160 net::EscapeUrlEncodedData( | 160 net::EscapeUrlEncodedData( |
| 161 GaiaUrls::GetInstance()->oauth2_chrome_client_id(), true).c_str(), | 161 GaiaUrls::GetInstance()->oauth2_chrome_client_id(), true).c_str(), |
| 162 net::EscapeUrlEncodedData(kChromeSyncManagedOAuth2Scope, true).c_str(), | 162 net::EscapeUrlEncodedData(kChromeSyncSupervisedOAuth2Scope, true).c_str(), |
| 163 net::EscapeUrlEncodedData(managed_user_id_, true).c_str(), | 163 net::EscapeUrlEncodedData(managed_user_id_, true).c_str(), |
| 164 net::EscapeUrlEncodedData(device_name_, true).c_str()); | 164 net::EscapeUrlEncodedData(device_name_, true).c_str()); |
| 165 url_fetcher_->SetUploadData("application/x-www-form-urlencoded", body); | 165 url_fetcher_->SetUploadData("application/x-www-form-urlencoded", body); |
| 166 | 166 |
| 167 url_fetcher_->Start(); | 167 url_fetcher_->Start(); |
| 168 } | 168 } |
| 169 | 169 |
| 170 void ManagedUserRefreshTokenFetcherImpl::OnGetTokenFailure( | 170 void ManagedUserRefreshTokenFetcherImpl::OnGetTokenFailure( |
| 171 const OAuth2TokenService::Request* request, | 171 const OAuth2TokenService::Request* request, |
| 172 const GoogleServiceAuthError& error) { | 172 const GoogleServiceAuthError& error) { |
| (...skipping 101 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 274 ManagedUserRefreshTokenFetcher::Create(OAuth2TokenService* oauth2_token_service, | 274 ManagedUserRefreshTokenFetcher::Create(OAuth2TokenService* oauth2_token_service, |
| 275 const std::string& account_id, | 275 const std::string& account_id, |
| 276 URLRequestContextGetter* context) { | 276 URLRequestContextGetter* context) { |
| 277 scoped_ptr<ManagedUserRefreshTokenFetcher> fetcher( | 277 scoped_ptr<ManagedUserRefreshTokenFetcher> fetcher( |
| 278 new ManagedUserRefreshTokenFetcherImpl(oauth2_token_service, account_id, | 278 new ManagedUserRefreshTokenFetcherImpl(oauth2_token_service, account_id, |
| 279 context)); | 279 context)); |
| 280 return fetcher.Pass(); | 280 return fetcher.Pass(); |
| 281 } | 281 } |
| 282 | 282 |
| 283 ManagedUserRefreshTokenFetcher::~ManagedUserRefreshTokenFetcher() {} | 283 ManagedUserRefreshTokenFetcher::~ManagedUserRefreshTokenFetcher() {} |
| OLD | NEW |