Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(120)

Side by Side Diff: chrome/browser/chromeos/login/login_utils.cc

Issue 7756025: Changed OAuth token+secret encryption to use supplemental user key. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src/
Patch Set: '' Created 9 years, 3 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch | Annotate | Revision Log
OLDNEW
1 // Copyright (c) 2011 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2011 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 #include "chrome/browser/chromeos/login/login_utils.h" 5 #include "chrome/browser/chromeos/login/login_utils.h"
6 6
7 #include <vector> 7 #include <vector>
8 8
9 #include "base/command_line.h" 9 #include "base/command_line.h"
10 #include "base/compiler_specific.h" 10 #include "base/compiler_specific.h"
(...skipping 917 matching lines...) Expand 10 before | Expand all | Expand 10 after
928 } 928 }
929 929
930 PrefService* pref_service = user_profile->GetPrefs(); 930 PrefService* pref_service = user_profile->GetPrefs();
931 std::string encoded_token = pref_service->GetString(prefs::kOAuth1Token); 931 std::string encoded_token = pref_service->GetString(prefs::kOAuth1Token);
932 std::string encoded_secret = pref_service->GetString(prefs::kOAuth1Secret); 932 std::string encoded_secret = pref_service->GetString(prefs::kOAuth1Secret);
933 if (!encoded_token.length() || !encoded_secret.length()) 933 if (!encoded_token.length() || !encoded_secret.length())
934 return false; 934 return false;
935 935
936 std::string decoded_token = authenticator_->DecryptToken(encoded_token); 936 std::string decoded_token = authenticator_->DecryptToken(encoded_token);
937 std::string decoded_secret = authenticator_->DecryptToken(encoded_secret); 937 std::string decoded_secret = authenticator_->DecryptToken(encoded_secret);
938 if (!decoded_token.length() || !decoded_secret.length()) 938 if (!decoded_token.length() || !decoded_secret.length()) {
939 return false; 939 // TODO(zelidrag): Remove legacy encryption support in R16.
940 // Check if tokens were encoded with the legacy encryption instead.
941 decoded_token = authenticator_->DecryptLegacyToken(encoded_token);
942 decoded_secret = authenticator_->DecryptLegacyToken(encoded_secret);
943 if (!decoded_token.length() || !decoded_secret.length())
944 return false;
945
946 pref_service->SetString(prefs::kOAuth1Token,
947 authenticator_->EncryptToken(decoded_token));
948 pref_service->SetString(prefs::kOAuth1Secret,
949 authenticator_->EncryptToken(decoded_secret));
950 }
940 951
941 *token = decoded_token; 952 *token = decoded_token;
942 *secret = decoded_secret; 953 *secret = decoded_secret;
943 return true; 954 return true;
944 } 955 }
945 956
946 void LoginUtilsImpl::StoreOAuth1AccessToken(Profile* user_profile, 957 void LoginUtilsImpl::StoreOAuth1AccessToken(Profile* user_profile,
947 const std::string& token, 958 const std::string& token,
948 const std::string& secret) { 959 const std::string& secret) {
949 // First store OAuth1 token + service for the current user profile... 960 // First store OAuth1 token + service for the current user profile...
(...skipping 80 matching lines...) Expand 10 before | Expand all | Expand 10 after
1030 // Mark login host for deletion after browser starts. This 1041 // Mark login host for deletion after browser starts. This
1031 // guarantees that the message loop will be referenced by the 1042 // guarantees that the message loop will be referenced by the
1032 // browser before it is dereferenced by the login host. 1043 // browser before it is dereferenced by the login host.
1033 if (login_host) { 1044 if (login_host) {
1034 login_host->OnSessionStart(); 1045 login_host->OnSessionStart();
1035 login_host = NULL; 1046 login_host = NULL;
1036 } 1047 }
1037 } 1048 }
1038 1049
1039 } // namespace chromeos 1050 } // namespace chromeos
OLDNEW
« no previous file with comments | « chrome/browser/chromeos/login/google_authenticator.cc ('k') | chrome/browser/chromeos/login/mock_authenticator.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698