Chromium Code Reviews| Index: components/cryptauth/cryptauth_client_impl.cc |
| diff --git a/components/cryptauth/cryptauth_client_impl.cc b/components/cryptauth/cryptauth_client_impl.cc |
| index 259838598ef08a9ce1856025ef9d3a0dba08081f..97033684324c188361c68f10c6403407e038bb9b 100644 |
| --- a/components/cryptauth/cryptauth_client_impl.cc |
| +++ b/components/cryptauth/cryptauth_client_impl.cc |
| @@ -67,43 +67,168 @@ void CryptAuthClientImpl::GetMyDevices( |
| const GetMyDevicesRequest& request, |
| const GetMyDevicesCallback& callback, |
| const ErrorCallback& error_callback) { |
| - MakeApiCall(kGetMyDevicesPath, request, callback, error_callback); |
| + net::PartialNetworkTrafficAnnotationTag partial_traffic_annotation = |
| + net::DefinePartialNetworkTrafficAnnotation("...", "oauth2_api_call_flow", |
|
sacomoto
2017/06/15 06:13:23
cryptauth_get_my_devices
Ramin Halavati
2017/06/16 09:48:18
Acknowledged.
|
| + R"( |
| + semantics { |
| + sender: "..." |
| + description: "..." |
| + trigger: "..." |
| + data: "..." |
| + destination: WEBSITE/GOOGLE_OWNED_SERVICE/OTHER/LOCAL |
| + } |
| + policy { |
| + setting: "..." |
| + chrome_policy { |
| + [POLICY_NAME] { |
| + policy_options {mode: MANDATORY/RECOMMENDED/UNSET} |
| + [POLICY_NAME]: ... //(value to disable it) |
| + } |
| + } |
| + policy_exception_justification: "..." |
| + })"); |
| + MakeApiCall(kGetMyDevicesPath, request, callback, error_callback, |
| + partial_traffic_annotation); |
| } |
| void CryptAuthClientImpl::FindEligibleUnlockDevices( |
| const FindEligibleUnlockDevicesRequest& request, |
| const FindEligibleUnlockDevicesCallback& callback, |
| const ErrorCallback& error_callback) { |
| - MakeApiCall(kFindEligibleUnlockDevicesPath, request, callback, |
| - error_callback); |
| + net::PartialNetworkTrafficAnnotationTag partial_traffic_annotation = |
| + net::DefinePartialNetworkTrafficAnnotation("...", "oauth2_api_call_flow", |
|
sacomoto
2017/06/15 06:13:15
cryptauth_find_eligible_unlock_devices
Ramin Halavati
2017/06/16 09:48:17
Done.
|
| + R"( |
| + semantics { |
| + sender: "..." |
|
sacomoto
2017/06/15 06:13:11
CryptAuth Device Manager.
Ramin Halavati
2017/06/16 09:48:16
Done.
|
| + description: "..." |
|
sacomoto
2017/06/15 06:13:12
Gets the list of mobile devices that can be used b
Ramin Halavati
2017/06/16 09:48:16
Done.
|
| + trigger: "..." |
|
sacomoto
2017/06/15 06:13:11
This request is sent when the user starts the Smar
Ramin Halavati
2017/06/16 09:48:17
Done.
|
| + data: "..." |
|
sacomoto
2017/06/15 06:13:11
The device's public key.
Ramin Halavati
2017/06/16 09:48:18
Done.
|
| + destination: WEBSITE/GOOGLE_OWNED_SERVICE/OTHER/LOCAL |
| + } |
| + policy { |
| + setting: "..." |
|
sacomoto
2017/06/15 06:13:10
This request will only be send if the user explici
Ramin Halavati
2017/06/16 09:48:16
Done.
|
| + chrome_policy { |
| + [POLICY_NAME] { |
|
sacomoto
2017/06/15 06:13:23
EasyUnlockAllowed
Ramin Halavati
2017/06/16 09:48:17
Done.
|
| + policy_options {mode: MANDATORY/RECOMMENDED/UNSET} |
|
sacomoto
2017/06/15 06:13:11
MANDATORY.
Ramin Halavati
2017/06/16 09:48:17
We are removing this field as it's always MANDATOR
|
| + [POLICY_NAME]: ... //(value to disable it) |
|
sacomoto
2017/06/15 06:13:17
EasyUnlockAllowed: false
Ramin Halavati
2017/06/16 09:48:17
Done.
|
| + } |
| + } |
| + policy_exception_justification: "..." |
| + })"); |
| + MakeApiCall(kFindEligibleUnlockDevicesPath, request, callback, error_callback, |
| + partial_traffic_annotation); |
| } |
| void CryptAuthClientImpl::SendDeviceSyncTickle( |
| const SendDeviceSyncTickleRequest& request, |
| const SendDeviceSyncTickleCallback& callback, |
| const ErrorCallback& error_callback) { |
| - MakeApiCall(kSendDeviceSyncTicklePath, request, callback, error_callback); |
| + net::PartialNetworkTrafficAnnotationTag partial_traffic_annotation = |
| + net::DefinePartialNetworkTrafficAnnotation("...", "oauth2_api_call_flow", |
|
sacomoto
2017/06/15 06:13:11
cryptauth_device_sync_tickle
Ramin Halavati
2017/06/16 09:48:17
Acknowledged.
|
| + R"( |
| + semantics { |
| + sender: "..." |
| + description: "..." |
| + trigger: "..." |
| + data: "..." |
| + destination: WEBSITE/GOOGLE_OWNED_SERVICE/OTHER/LOCAL |
| + } |
| + policy { |
| + setting: "..." |
| + chrome_policy { |
| + [POLICY_NAME] { |
| + policy_options {mode: MANDATORY/RECOMMENDED/UNSET} |
| + [POLICY_NAME]: ... //(value to disable it) |
| + } |
| + } |
| + policy_exception_justification: "..." |
| + })"); |
| + MakeApiCall(kSendDeviceSyncTicklePath, request, callback, error_callback, |
| + partial_traffic_annotation); |
| } |
| void CryptAuthClientImpl::ToggleEasyUnlock( |
| const ToggleEasyUnlockRequest& request, |
| const ToggleEasyUnlockCallback& callback, |
| const ErrorCallback& error_callback) { |
| - MakeApiCall(kToggleEasyUnlockPath, request, callback, error_callback); |
| + net::PartialNetworkTrafficAnnotationTag partial_traffic_annotation = |
| + net::DefinePartialNetworkTrafficAnnotation("...", "oauth2_api_call_flow", |
|
sacomoto
2017/06/15 06:13:14
cryptauth_toggle_easyunlock
Ramin Halavati
2017/06/16 09:48:17
Done.
|
| + R"( |
| + semantics { |
| + sender: "..." |
|
sacomoto
2017/06/15 06:13:11
CryptAuth Device Manager
Ramin Halavati
2017/06/16 09:48:17
Done.
|
| + description: "..." |
|
sacomoto
2017/06/15 06:13:11
Enables Smart Lock (EasyUnlock) for the current de
Ramin Halavati
2017/06/16 09:48:16
Done.
|
| + trigger: "..." |
|
sacomoto
2017/06/15 06:13:16
This request is send after the user goes through t
Ramin Halavati
2017/06/16 09:48:17
Done.
|
| + data: "..." |
|
sacomoto
2017/06/15 06:13:11
The device public key.
Ramin Halavati
2017/06/16 09:48:16
Done.
|
| + destination: WEBSITE/GOOGLE_OWNED_SERVICE/OTHER/LOCAL |
| + } |
| + policy { |
| + setting: "..." |
|
sacomoto
2017/06/15 06:13:15
This will only be send if the user explicitly enab
Ramin Halavati
2017/06/16 09:48:18
Done.
|
| + chrome_policy { |
| + [POLICY_NAME] { |
|
sacomoto
2017/06/15 06:13:10
EasyUnlockAllowed
Ramin Halavati
2017/06/16 09:48:17
Done.
|
| + policy_options {mode: MANDATORY/RECOMMENDED/UNSET} |
|
sacomoto
2017/06/15 06:13:21
MANDATORY
Ramin Halavati
2017/06/16 09:48:16
Acknowledged.
|
| + [POLICY_NAME]: ... //(value to disable it) |
|
sacomoto
2017/06/15 06:13:10
EasyUnlockAllowed: false
Ramin Halavati
2017/06/16 09:48:16
Done.
|
| + } |
| + } |
| + policy_exception_justification: "..." |
| + })"); |
| + MakeApiCall(kToggleEasyUnlockPath, request, callback, error_callback, |
| + partial_traffic_annotation); |
| } |
| void CryptAuthClientImpl::SetupEnrollment( |
| const SetupEnrollmentRequest& request, |
| const SetupEnrollmentCallback& callback, |
| const ErrorCallback& error_callback) { |
| - MakeApiCall(kSetupEnrollmentPath, request, callback, error_callback); |
| + net::PartialNetworkTrafficAnnotationTag partial_traffic_annotation = |
| + net::DefinePartialNetworkTrafficAnnotation("...", "oauth2_api_call_flow", |
|
sacomoto
2017/06/15 06:13:11
cryptauth_enrollment_flow_setup
Ramin Halavati
2017/06/16 09:48:17
Done.
|
| + R"( |
| + semantics { |
| + sender: "..." |
|
sacomoto
2017/06/15 06:13:23
CryptAuth Enrollment Manager
Ramin Halavati
2017/06/16 09:48:16
Done.
|
| + description: "..." |
|
sacomoto
2017/06/15 06:13:20
Starts the CryptAuth registration flow.
Ramin Halavati
2017/06/16 09:48:18
Done.
|
| + trigger: "..." |
|
sacomoto
2017/06/15 06:13:10
Occurs periodically, at least once a month.
Ramin Halavati
2017/06/16 09:48:16
Done.
|
| + data: "..." |
|
sacomoto
2017/06/15 06:13:23
Various device information (public key, bluetooth
Ramin Halavati
2017/06/16 09:48:17
Done.
|
| + destination: WEBSITE/GOOGLE_OWNED_SERVICE/OTHER/LOCAL |
| + } |
| + policy { |
| + setting: "..." |
|
sacomoto
2017/06/15 06:13:18
This feature cannot be disabled by settings. Howev
Ramin Halavati
2017/06/16 09:48:18
Done.
|
| + chrome_policy { |
|
sacomoto
2017/06/15 06:13:10
There is no policy covering this request.
Ramin Halavati
2017/06/16 09:48:17
How about 'SigninAllowed'?
sacomoto
2017/06/19 18:25:38
Yes, you are right. This policy would disable all
Ramin Halavati
2017/06/20 05:35:33
Acknowledged.
|
| + [POLICY_NAME] { |
| + policy_options {mode: MANDATORY/RECOMMENDED/UNSET} |
| + [POLICY_NAME]: ... //(value to disable it) |
| + } |
| + } |
| + policy_exception_justification: "..." |
| + })"); |
| + MakeApiCall(kSetupEnrollmentPath, request, callback, error_callback, |
| + partial_traffic_annotation); |
| } |
| void CryptAuthClientImpl::FinishEnrollment( |
| const FinishEnrollmentRequest& request, |
| const FinishEnrollmentCallback& callback, |
| const ErrorCallback& error_callback) { |
| - MakeApiCall(kFinishEnrollmentPath, request, callback, error_callback); |
| + net::PartialNetworkTrafficAnnotationTag partial_traffic_annotation = |
| + net::DefinePartialNetworkTrafficAnnotation("...", "oauth2_api_call_flow", |
|
sacomoto
2017/06/15 06:13:23
cryptauth_enrollment_flow_finish
Ramin Halavati
2017/06/16 09:48:16
Done.
|
| + R"( |
| + semantics { |
| + sender: "..." |
|
sacomoto
2017/06/15 06:13:11
CryptAuth Enrollment Manager
Ramin Halavati
2017/06/16 09:48:17
Done.
|
| + description: "..." |
|
sacomoto
2017/06/15 06:13:23
Finishes the CryptAuth registration flow.
Ramin Halavati
2017/06/16 09:48:18
Done.
|
| + trigger: "..." |
|
sacomoto
2017/06/15 06:13:22
Occurs periodically, at least once a month.
Ramin Halavati
2017/06/16 09:48:17
Done.
|
| + data: "..." |
|
Ramin Halavati
2017/06/16 09:48:17
None?
|
| + destination: WEBSITE/GOOGLE_OWNED_SERVICE/OTHER/LOCAL |
| + } |
| + policy { |
| + setting: "..." |
|
sacomoto
2017/06/15 06:13:10
This feature cannot be disabled by settings. Howev
Ramin Halavati
2017/06/16 09:48:17
Done.
|
| + chrome_policy { |
|
sacomoto
2017/06/15 06:13:23
There is no policy covering this request.
Ramin Halavati
2017/06/16 09:48:16
Acknowledged.
|
| + [POLICY_NAME] { |
| + policy_options {mode: MANDATORY/RECOMMENDED/UNSET} |
| + [POLICY_NAME]: ... //(value to disable it) |
| + } |
| + } |
| + policy_exception_justification: "..." |
| + })"); |
| + MakeApiCall(kFinishEnrollmentPath, request, callback, error_callback, |
| + partial_traffic_annotation); |
| } |
| std::string CryptAuthClientImpl::GetAccessTokenUsed() { |
| @@ -115,7 +240,8 @@ void CryptAuthClientImpl::MakeApiCall( |
| const std::string& request_path, |
| const RequestProto& request_proto, |
| const base::Callback<void(const ResponseProto&)>& response_callback, |
| - const ErrorCallback& error_callback) { |
| + const ErrorCallback& error_callback, |
| + const net::PartialNetworkTrafficAnnotationTag& partial_traffic_annotation) { |
| if (has_call_started_) { |
| error_callback.Run( |
| "Client has been used for another request. Do not reuse."); |
| @@ -123,6 +249,9 @@ void CryptAuthClientImpl::MakeApiCall( |
| } |
| has_call_started_ = true; |
| + api_call_flow_->SetPartialNetworkTrafficAnnotation( |
| + partial_traffic_annotation); |
| + |
| // The |device_classifier| field must be present for all CryptAuth requests. |
| RequestProto request_copy(request_proto); |
| request_copy.mutable_device_classifier()->CopyFrom(device_classifier_); |