Index: chrome/browser/chromeos/login/login_utils.cc |
=================================================================== |
--- chrome/browser/chromeos/login/login_utils.cc (revision 99168) |
+++ chrome/browser/chromeos/login/login_utils.cc (working copy) |
@@ -933,8 +933,20 @@ |
std::string decoded_token = authenticator_->DecryptToken(encoded_token); |
std::string decoded_secret = authenticator_->DecryptToken(encoded_secret); |
- if (!decoded_token.length() || !decoded_secret.length()) |
- return false; |
+ if (!decoded_token.length() || !decoded_secret.length()) { |
+ // TODO(zelidrag): Remove legacy encryption support in R16. |
+ // Check if tokens were encoded with the legacy encryption instead. |
+ decoded_token = authenticator_->DecryptLegacyToken(encoded_token); |
+ decoded_secret = authenticator_->DecryptLegacyToken(encoded_secret); |
+ if (!decoded_token.length() || !decoded_secret.length()) { |
+ return false; |
+ } else { |
wtc
2011/09/06 21:35:17
Nit: omit "else" after a return statement.
zel
2011/09/06 22:33:35
Done.
|
+ pref_service->SetString(prefs::kOAuth1Token, |
+ authenticator_->EncryptToken(decoded_token)); |
+ pref_service->SetString(prefs::kOAuth1Secret, |
+ authenticator_->EncryptToken(decoded_secret)); |
+ } |
+ } |
*token = decoded_token; |
*secret = decoded_secret; |