| Index: chrome/browser/chromeos/login/login_utils.cc
|
| ===================================================================
|
| --- chrome/browser/chromeos/login/login_utils.cc (revision 99773)
|
| +++ chrome/browser/chromeos/login/login_utils.cc (working copy)
|
| @@ -935,9 +935,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;
|
|
|
| + pref_service->SetString(prefs::kOAuth1Token,
|
| + authenticator_->EncryptToken(decoded_token));
|
| + pref_service->SetString(prefs::kOAuth1Secret,
|
| + authenticator_->EncryptToken(decoded_secret));
|
| + }
|
| +
|
| *token = decoded_token;
|
| *secret = decoded_secret;
|
| return true;
|
|
|