summaryrefslogtreecommitdiffstats
path: root/chrome/browser/chromeos/login
diff options
context:
space:
mode:
authorkochi@chromium.org <kochi@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2012-09-05 07:28:16 +0000
committerkochi@chromium.org <kochi@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2012-09-05 07:28:16 +0000
commitdbe49fd6f4b76daea8dd8ea8fbbbad782ac3cad1 (patch)
tree344b813354e3fa0bae503d2a0ffee46333cd079e /chrome/browser/chromeos/login
parent6ca01aeadf9acf8a812e8060553b270dd879efa5 (diff)
downloadchromium_src-dbe49fd6f4b76daea8dd8ea8fbbbad782ac3cad1.zip
chromium_src-dbe49fd6f4b76daea8dd8ea8fbbbad782ac3cad1.tar.gz
chromium_src-dbe49fd6f4b76daea8dd8ea8fbbbad782ac3cad1.tar.bz2
Add warning messages for OAuth1 encryption/decryption failures.
For making analysis of OAuth1 token failure easier, add some warning messages when it fails to store OAuth1 token/secret. BUG=129348 TEST=none TBR=davemoore@chromium.org Remove redundant initialization of filesystem Review URL: https://chromiumcodereview.appspot.com/10897023 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@154906 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'chrome/browser/chromeos/login')
-rw-r--r--chrome/browser/chromeos/login/login_utils.cc31
1 files changed, 21 insertions, 10 deletions
diff --git a/chrome/browser/chromeos/login/login_utils.cc b/chrome/browser/chromeos/login/login_utils.cc
index 3b41805..1da025f 100644
--- a/chrome/browser/chromeos/login/login_utils.cc
+++ b/chrome/browser/chromeos/login/login_utils.cc
@@ -1053,17 +1053,28 @@ void LoginUtilsImpl::StoreOAuth1AccessToken(Profile* user_profile,
const std::string& token,
const std::string& secret) {
// First store OAuth1 token + service for the current user profile...
+ std::string encrypted_token =
+ CrosLibrary::Get()->GetCertLibrary()->EncryptToken(token);
+ std::string encrypted_secret =
+ CrosLibrary::Get()->GetCertLibrary()->EncryptToken(secret);
PrefService* pref_service = user_profile->GetPrefs();
- pref_service->SetString(prefs::kOAuth1Token,
- CrosLibrary::Get()->GetCertLibrary()->EncryptToken(token));
- pref_service->SetString(prefs::kOAuth1Secret,
- CrosLibrary::Get()->GetCertLibrary()->EncryptToken(secret));
-
- // ...then record the presence of valid OAuth token for this account in local
- // state as well.
- UserManager::Get()->SaveUserOAuthStatus(
- UserManager::Get()->GetLoggedInUser().email(),
- User::OAUTH_TOKEN_STATUS_VALID);
+ if (!encrypted_token.empty() && !encrypted_secret.empty()) {
+ pref_service->SetString(prefs::kOAuth1Token, encrypted_token);
+ pref_service->SetString(prefs::kOAuth1Secret, encrypted_secret);
+
+ // ...then record the presence of valid OAuth token for this account in
+ // local state as well.
+ UserManager::Get()->SaveUserOAuthStatus(
+ UserManager::Get()->GetLoggedInUser().email(),
+ User::OAUTH_TOKEN_STATUS_VALID);
+ } else {
+ LOG(WARNING) << "Failed to get OAuth1 token/secret encrypted.";
+ // Set the OAuth status invalid so that the user will go through full
+ // GAIA login next time.
+ UserManager::Get()->SaveUserOAuthStatus(
+ UserManager::Get()->GetLoggedInUser().email(),
+ User::OAUTH_TOKEN_STATUS_INVALID);
+ }
}
void LoginUtilsImpl::VerifyOAuth1AccessToken(Profile* user_profile,