diff options
author | kochi@chromium.org <kochi@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2012-09-05 07:28:16 +0000 |
---|---|---|
committer | kochi@chromium.org <kochi@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2012-09-05 07:28:16 +0000 |
commit | dbe49fd6f4b76daea8dd8ea8fbbbad782ac3cad1 (patch) | |
tree | 344b813354e3fa0bae503d2a0ffee46333cd079e /chrome/browser/chromeos/login | |
parent | 6ca01aeadf9acf8a812e8060553b270dd879efa5 (diff) | |
download | chromium_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.cc | 31 |
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, |