OLD | NEW |
1 // Copyright (c) 2011 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2011 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 #ifndef CHROME_BROWSER_NET_GAIA_GAIA_OAUTH_FETCHER_H_ | 5 #ifndef CHROME_BROWSER_NET_GAIA_GAIA_OAUTH_FETCHER_H_ |
6 #define CHROME_BROWSER_NET_GAIA_GAIA_OAUTH_FETCHER_H_ | 6 #define CHROME_BROWSER_NET_GAIA_GAIA_OAUTH_FETCHER_H_ |
7 #pragma once | 7 #pragma once |
8 | 8 |
9 #include <string> | 9 #include <string> |
10 | 10 |
(...skipping 88 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
99 const std::string& oauth1_access_token, | 99 const std::string& oauth1_access_token, |
100 const std::string& oauth1_access_token_secret, | 100 const std::string& oauth1_access_token_secret, |
101 const std::string& wrap_token_duration, | 101 const std::string& wrap_token_duration, |
102 const std::string& service_scope); | 102 const std::string& service_scope); |
103 | 103 |
104 // Obtains user information related to an OAuth2 access token | 104 // Obtains user information related to an OAuth2 access token |
105 // | 105 // |
106 // oauth2_access_token is from OAuthWrapBridge's result. | 106 // oauth2_access_token is from OAuthWrapBridge's result. |
107 virtual void StartUserInfo(const std::string& oauth2_access_token); | 107 virtual void StartUserInfo(const std::string& oauth2_access_token); |
108 | 108 |
| 109 // Starts a request for revoking the given OAuth access token (as requested by |
| 110 // StartOAuthGetAccessToken). |
| 111 virtual void StartOAuthRevokeAccessToken(const std::string& token, |
| 112 const std::string& secret); |
| 113 |
| 114 // Starts a request for revoking the given OAuth Bearer token (as requested by |
| 115 // StartOAuthWrapBridge). |
| 116 virtual void StartOAuthRevokeWrapToken(const std::string& token); |
| 117 |
109 // NotificationObserver implementation. | 118 // NotificationObserver implementation. |
110 virtual void Observe(int type, | 119 virtual void Observe(int type, |
111 const NotificationSource& source, | 120 const NotificationSource& source, |
112 const NotificationDetails& details) OVERRIDE; | 121 const NotificationDetails& details) OVERRIDE; |
113 | 122 |
114 // Called when a cookie, e. g. oauth_token, changes | 123 // Called when a cookie, e. g. oauth_token, changes |
115 virtual void OnCookieChanged(Profile* profile, | 124 virtual void OnCookieChanged(Profile* profile, |
116 ChromeCookieDetails* cookie_details); | 125 ChromeCookieDetails* cookie_details); |
117 | 126 |
118 // Called when a cookie, e. g. oauth_token, changes | 127 // Called when a cookie, e. g. oauth_token, changes |
(...skipping 32 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
151 // Process the results of a OAuthGetAccessToken fetch. | 160 // Process the results of a OAuthGetAccessToken fetch. |
152 virtual void OnOAuthGetAccessTokenFetched(const std::string& data, | 161 virtual void OnOAuthGetAccessTokenFetched(const std::string& data, |
153 const net::URLRequestStatus& status, | 162 const net::URLRequestStatus& status, |
154 int response_code); | 163 int response_code); |
155 | 164 |
156 // Process the results of a OAuthWrapBridge fetch. | 165 // Process the results of a OAuthWrapBridge fetch. |
157 virtual void OnOAuthWrapBridgeFetched(const std::string& data, | 166 virtual void OnOAuthWrapBridgeFetched(const std::string& data, |
158 const net::URLRequestStatus& status, | 167 const net::URLRequestStatus& status, |
159 int response_code); | 168 int response_code); |
160 | 169 |
| 170 // Process the results of a token revocation fetch. |
| 171 virtual void OnOAuthRevokeTokenFetched(const std::string& data, |
| 172 const net::URLRequestStatus& status, |
| 173 int response_code); |
| 174 |
161 // Process the results of a userinfo fetch. | 175 // Process the results of a userinfo fetch. |
162 virtual void OnUserInfoFetched(const std::string& data, | 176 virtual void OnUserInfoFetched(const std::string& data, |
163 const net::URLRequestStatus& status, | 177 const net::URLRequestStatus& status, |
164 int response_code); | 178 int response_code); |
165 | 179 |
166 // Tokenize the results of a GetOAuthToken fetch. | 180 // Tokenize the results of a GetOAuthToken fetch. |
167 static void ParseGetOAuthTokenResponse(const std::string& data, | 181 static void ParseGetOAuthTokenResponse(const std::string& data, |
168 std::string* token); | 182 std::string* token); |
169 | 183 |
170 // Tokenize the results of a OAuthLogin fetch. | 184 // Tokenize the results of a OAuthLogin fetch. |
(...skipping 36 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
207 const std::string& oauth1_access_token, | 221 const std::string& oauth1_access_token, |
208 const std::string& oauth1_access_token_secret); | 222 const std::string& oauth1_access_token_secret); |
209 | 223 |
210 // Given parameters, create a OAuthWrapBridge request body. | 224 // Given parameters, create a OAuthWrapBridge request body. |
211 static std::string MakeOAuthWrapBridgeBody( | 225 static std::string MakeOAuthWrapBridgeBody( |
212 const std::string& oauth1_access_token, | 226 const std::string& oauth1_access_token, |
213 const std::string& oauth1_access_token_secret, | 227 const std::string& oauth1_access_token_secret, |
214 const std::string& wrap_token_duration, | 228 const std::string& wrap_token_duration, |
215 const std::string& oauth2_service_scope); | 229 const std::string& oauth2_service_scope); |
216 | 230 |
217 // Given parameters, create a userinfo request body. | |
218 static std::string MakeUserInfoBody(const std::string& oauth2_access_token); | |
219 | |
220 // Create a fetcher useable for making any Gaia OAuth request. | 231 // Create a fetcher useable for making any Gaia OAuth request. |
221 static URLFetcher* CreateGaiaFetcher(net::URLRequestContextGetter* getter, | 232 static URLFetcher* CreateGaiaFetcher(net::URLRequestContextGetter* getter, |
222 const GURL& gaia_gurl_, | 233 const GURL& gaia_gurl_, |
223 const std::string& body, | 234 const std::string& body, |
224 const std::string& headers, | 235 const std::string& headers, |
225 bool send_cookies, | 236 bool send_cookies, |
226 URLFetcher::Delegate* delegate); | 237 URLFetcher::Delegate* delegate); |
227 | 238 |
228 bool ShouldAutoFetch(AutoFetchLimit fetch_step); | 239 bool ShouldAutoFetch(AutoFetchLimit fetch_step); |
229 | 240 |
230 // These fields are common to GaiaOAuthFetcher, same every request | 241 // These fields are common to GaiaOAuthFetcher, same every request |
231 GaiaOAuthConsumer* const consumer_; | 242 GaiaOAuthConsumer* const consumer_; |
232 net::URLRequestContextGetter* const getter_; | 243 net::URLRequestContextGetter* const getter_; |
233 Profile* profile_; | 244 Profile* profile_; |
234 Browser* popup_; | 245 Browser* popup_; |
235 NotificationRegistrar registrar_; | 246 NotificationRegistrar registrar_; |
236 | 247 |
237 // While a fetch is going on: | 248 // While a fetch is going on: |
238 scoped_ptr<URLFetcher> fetcher_; | 249 scoped_ptr<URLFetcher> fetcher_; |
239 std::string request_body_; | 250 std::string request_body_; |
240 std::string request_headers_; | 251 std::string request_headers_; |
241 std::string service_scope_; | 252 std::string service_scope_; |
242 bool fetch_pending_; | 253 bool fetch_pending_; |
243 AutoFetchLimit auto_fetch_limit_; | 254 AutoFetchLimit auto_fetch_limit_; |
244 | 255 |
245 DISALLOW_COPY_AND_ASSIGN(GaiaOAuthFetcher); | 256 DISALLOW_COPY_AND_ASSIGN(GaiaOAuthFetcher); |
246 }; | 257 }; |
247 | 258 |
248 #endif // CHROME_BROWSER_NET_GAIA_GAIA_OAUTH_FETCHER_H_ | 259 #endif // CHROME_BROWSER_NET_GAIA_GAIA_OAUTH_FETCHER_H_ |
OLD | NEW |