| OLD | NEW |
| 1 // Copyright (c) 2010 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2010 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 // The TokenService will supply authentication tokens for any service that | 5 // The TokenService will supply authentication tokens for any service that |
| 6 // needs it, such as sync. | 6 // needs it, such as sync. |
| 7 | 7 |
| 8 #ifndef CHROME_BROWSER_NET_GAIA_TOKEN_SERVICE_H_ | 8 #ifndef CHROME_BROWSER_NET_GAIA_TOKEN_SERVICE_H_ |
| 9 #define CHROME_BROWSER_NET_GAIA_TOKEN_SERVICE_H_ | 9 #define CHROME_BROWSER_NET_GAIA_TOKEN_SERVICE_H_ |
| 10 #pragma once | 10 #pragma once |
| (...skipping 43 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 54 // Initialize this token service with a request source | 54 // Initialize this token service with a request source |
| 55 // (usually from a GaiaAuthConsumer constant), a getter and | 55 // (usually from a GaiaAuthConsumer constant), a getter and |
| 56 // results from ClientLogin. | 56 // results from ClientLogin. |
| 57 void Initialize( | 57 void Initialize( |
| 58 const char* const source, | 58 const char* const source, |
| 59 URLRequestContextGetter* getter, | 59 URLRequestContextGetter* getter, |
| 60 const GaiaAuthConsumer::ClientLoginResult& credentials); | 60 const GaiaAuthConsumer::ClientLoginResult& credentials); |
| 61 | 61 |
| 62 // For legacy services with their own auth routines, they can just read | 62 // For legacy services with their own auth routines, they can just read |
| 63 // the LSID out directly. Deprecated. | 63 // the LSID out directly. Deprecated. |
| 64 const bool HasLsid() const; | 64 bool HasLsid() const; |
| 65 const std::string& GetLsid() const; | 65 const std::string& GetLsid() const; |
| 66 | 66 |
| 67 // On login, StartFetchingTokens() should be called to kick off token | 67 // On login, StartFetchingTokens() should be called to kick off token |
| 68 // fetching. | 68 // fetching. |
| 69 // Tokens will be fetched for all services(sync, talk) in the background. | 69 // Tokens will be fetched for all services(sync, talk) in the background. |
| 70 // Results come back via event channel. Services can also poll. | 70 // Results come back via event channel. Services can also poll. |
| 71 void StartFetchingTokens(); | 71 void StartFetchingTokens(); |
| 72 const bool HasTokenForService(const char* const service) const; | 72 bool HasTokenForService(const char* const service) const; |
| 73 const std::string& GetTokenForService(const char* const service) const; | 73 const std::string& GetTokenForService(const char* const service) const; |
| 74 | 74 |
| 75 // Callbacks from the fetchers. | 75 // Callbacks from the fetchers. |
| 76 void OnIssueAuthTokenSuccess(const std::string& service, | 76 void OnIssueAuthTokenSuccess(const std::string& service, |
| 77 const std::string& auth_token); | 77 const std::string& auth_token); |
| 78 void OnIssueAuthTokenFailure(const std::string& service, | 78 void OnIssueAuthTokenFailure(const std::string& service, |
| 79 const GaiaAuthError& error); | 79 const GaiaAuthError& error); |
| 80 | 80 |
| 81 private: | 81 private: |
| 82 // Did we get a proper LSID? | 82 // Did we get a proper LSID? |
| 83 const bool AreCredentialsValid() const; | 83 bool AreCredentialsValid() const; |
| 84 | 84 |
| 85 // Gaia request source for Gaia accounting. | 85 // Gaia request source for Gaia accounting. |
| 86 std::string source_; | 86 std::string source_; |
| 87 // Credentials from ClientLogin for Issuing auth tokens. | 87 // Credentials from ClientLogin for Issuing auth tokens. |
| 88 GaiaAuthConsumer::ClientLoginResult credentials_; | 88 GaiaAuthConsumer::ClientLoginResult credentials_; |
| 89 scoped_ptr<GaiaAuthenticator2> sync_token_fetcher_; | 89 scoped_ptr<GaiaAuthenticator2> sync_token_fetcher_; |
| 90 scoped_ptr<GaiaAuthenticator2> talk_token_fetcher_; | 90 scoped_ptr<GaiaAuthenticator2> talk_token_fetcher_; |
| 91 // Map from service to token. | 91 // Map from service to token. |
| 92 std::map<std::string, std::string> token_map_; | 92 std::map<std::string, std::string> token_map_; |
| 93 | 93 |
| 94 DISALLOW_COPY_AND_ASSIGN(TokenService); | 94 DISALLOW_COPY_AND_ASSIGN(TokenService); |
| 95 }; | 95 }; |
| 96 | 96 |
| 97 #endif // CHROME_BROWSER_NET_GAIA_TOKEN_SERVICE_H_ | 97 #endif // CHROME_BROWSER_NET_GAIA_TOKEN_SERVICE_H_ |
| OLD | NEW |