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

Side by Side Diff: chrome/browser/chromeos/login/easy_unlock/easy_unlock_key_manager.cc

Issue 586113003: [Easy signin]Set more permit record data when converting from key device list (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: . Created 6 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
OLDNEW
1 // Copyright 2014 The Chromium Authors. All rights reserved. 1 // Copyright 2014 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/easy_unlock/easy_unlock_key_manager.h" 5 #include "chrome/browser/chromeos/login/easy_unlock/easy_unlock_key_manager.h"
6 6
7 #include "base/bind.h" 7 #include "base/bind.h"
8 #include "base/logging.h" 8 #include "base/logging.h"
9 #include "base/stl_util.h" 9 #include "base/stl_util.h"
10 #include "base/strings/stringprintf.h" 10 #include "base/strings/stringprintf.h"
11 #include "base/values.h" 11 #include "base/values.h"
12 12
13 namespace chromeos { 13 namespace chromeos {
14 14
15 namespace { 15 namespace {
16 16
17 const char kKeyBluetoothAddress[] = "bluetoothAddress"; 17 const char kKeyBluetoothAddress[] = "bluetoothAddress";
18 const char kKeyPermitRecord[] = "permitRecord"; 18 const char kKeyPermitRecord[] = "permitRecord";
19 const char kKeyId[] = "id";
20 const char kKeyPermitId[] = "permitRecord.id"; 19 const char kKeyPermitId[] = "permitRecord.id";
20 const char kKeyPermitPermitId[] = "permitRecord.permitId";
21 const char kKeyPermitData[] = "permitRecord.data";
22 const char kKeyPermitType[] = "permitRecord.type";
21 const char kKeyPsk[] = "psk"; 23 const char kKeyPsk[] = "psk";
22 24
23 const char kKeyLabelPrefix[] = "easy-unlock-"; 25 const char kKeyLabelPrefix[] = "easy-unlock-";
24 26
27 const char kPermitPermitIdFormat[] = "permit://google.com/easyunlock/v1/%s";
28 const char kPermitTypeLicence[] = "licence";
29
25 } // namespace 30 } // namespace
26 31
27 EasyUnlockKeyManager::EasyUnlockKeyManager() 32 EasyUnlockKeyManager::EasyUnlockKeyManager()
28 : operation_id_(0), 33 : operation_id_(0),
29 weak_ptr_factory_(this) { 34 weak_ptr_factory_(this) {
30 } 35 }
31 36
32 EasyUnlockKeyManager::~EasyUnlockKeyManager() { 37 EasyUnlockKeyManager::~EasyUnlockKeyManager() {
33 STLDeleteContainerPairSecondPointers(get_keys_ops_.begin(), 38 STLDeleteContainerPairSecondPointers(get_keys_ops_.begin(),
34 get_keys_ops_.end()); 39 get_keys_ops_.end());
(...skipping 52 matching lines...) Expand 10 before | Expand all | Expand 10 after
87 base::Bind(&EasyUnlockKeyManager::OnKeysFetched, 92 base::Bind(&EasyUnlockKeyManager::OnKeysFetched,
88 weak_ptr_factory_.GetWeakPtr(), 93 weak_ptr_factory_.GetWeakPtr(),
89 op_id, 94 op_id,
90 callback))); 95 callback)));
91 op->Start(); 96 op->Start();
92 get_keys_ops_[op_id] = op.release(); 97 get_keys_ops_[op_id] = op.release();
93 } 98 }
94 99
95 // static 100 // static
96 void EasyUnlockKeyManager::DeviceDataToRemoteDeviceDictionary( 101 void EasyUnlockKeyManager::DeviceDataToRemoteDeviceDictionary(
102 const std::string& user_id,
97 const EasyUnlockDeviceKeyData& data, 103 const EasyUnlockDeviceKeyData& data,
98 base::DictionaryValue* dict) { 104 base::DictionaryValue* dict) {
99 dict->SetString(kKeyBluetoothAddress, data.bluetooth_address); 105 dict->SetString(kKeyBluetoothAddress, data.bluetooth_address);
100 dict->SetString(kKeyPsk, data.psk); 106 dict->SetString(kKeyPsk, data.psk);
101 scoped_ptr<base::DictionaryValue> permit_record(new base::DictionaryValue); 107 scoped_ptr<base::DictionaryValue> permit_record(new base::DictionaryValue);
102 permit_record->SetString(kKeyId, data.public_key);
103 dict->Set(kKeyPermitRecord, permit_record.release()); 108 dict->Set(kKeyPermitRecord, permit_record.release());
109 dict->SetString(kKeyPermitId, data.public_key);
110 dict->SetString(kKeyPermitData, data.public_key);
111 dict->SetString(kKeyPermitType, kPermitTypeLicence);
112 dict->SetString(kKeyPermitPermitId,
113 base::StringPrintf(kPermitPermitIdFormat,
114 user_id.c_str()));
104 } 115 }
105 116
106 // static 117 // static
107 bool EasyUnlockKeyManager::RemoteDeviceDictionaryToDeviceData( 118 bool EasyUnlockKeyManager::RemoteDeviceDictionaryToDeviceData(
108 const base::DictionaryValue& dict, 119 const base::DictionaryValue& dict,
109 EasyUnlockDeviceKeyData* data) { 120 EasyUnlockDeviceKeyData* data) {
110 std::string bluetooth_address; 121 std::string bluetooth_address;
111 std::string public_key; 122 std::string public_key;
112 std::string psk; 123 std::string psk;
113 124
114 if (!dict.GetString(kKeyBluetoothAddress, &bluetooth_address) || 125 if (!dict.GetString(kKeyBluetoothAddress, &bluetooth_address) ||
115 !dict.GetString(kKeyPermitId, &public_key) || 126 !dict.GetString(kKeyPermitId, &public_key) ||
116 !dict.GetString(kKeyPsk, &psk)) { 127 !dict.GetString(kKeyPsk, &psk)) {
117 return false; 128 return false;
118 } 129 }
119 130
120 data->bluetooth_address.swap(bluetooth_address); 131 data->bluetooth_address.swap(bluetooth_address);
121 data->public_key.swap(public_key); 132 data->public_key.swap(public_key);
122 data->psk.swap(psk); 133 data->psk.swap(psk);
123 return true; 134 return true;
124 } 135 }
125 136
126 // static 137 // static
127 void EasyUnlockKeyManager::DeviceDataListToRemoteDeviceList( 138 void EasyUnlockKeyManager::DeviceDataListToRemoteDeviceList(
139 const std::string& user_id,
128 const EasyUnlockDeviceKeyDataList& data_list, 140 const EasyUnlockDeviceKeyDataList& data_list,
129 base::ListValue* device_list) { 141 base::ListValue* device_list) {
130 device_list->Clear(); 142 device_list->Clear();
131 for (size_t i = 0; i < data_list.size(); ++i) { 143 for (size_t i = 0; i < data_list.size(); ++i) {
132 scoped_ptr<base::DictionaryValue> device_dict(new base::DictionaryValue); 144 scoped_ptr<base::DictionaryValue> device_dict(new base::DictionaryValue);
133 DeviceDataToRemoteDeviceDictionary(data_list[i], device_dict.get()); 145 DeviceDataToRemoteDeviceDictionary(
146 user_id, data_list[i], device_dict.get());
134 device_list->Append(device_dict.release()); 147 device_list->Append(device_dict.release());
135 } 148 }
136 } 149 }
137 150
138 // static 151 // static
139 bool EasyUnlockKeyManager::RemoteDeviceListToDeviceDataList( 152 bool EasyUnlockKeyManager::RemoteDeviceListToDeviceDataList(
140 const base::ListValue& device_list, 153 const base::ListValue& device_list,
141 EasyUnlockDeviceKeyDataList* data_list) { 154 EasyUnlockDeviceKeyDataList* data_list) {
142 EasyUnlockDeviceKeyDataList parsed_devices; 155 EasyUnlockDeviceKeyDataList parsed_devices;
143 for (base::ListValue::const_iterator it = device_list.begin(); 156 for (base::ListValue::const_iterator it = device_list.begin();
(...skipping 60 matching lines...) Expand 10 before | Expand all | Expand 10 after
204 get_keys_ops_.erase(it); 217 get_keys_ops_.erase(it);
205 } else { 218 } else {
206 NOTREACHED(); 219 NOTREACHED();
207 } 220 }
208 221
209 if (!callback.is_null()) 222 if (!callback.is_null())
210 callback.Run(fetch_success, fetched_data); 223 callback.Run(fetch_success, fetched_data);
211 } 224 }
212 225
213 } // namespace chromeos 226 } // namespace chromeos
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698