| Index: chrome/browser/policy/proto/device_management_backend.proto
|
| diff --git a/chrome/browser/policy/proto/device_management_backend.proto b/chrome/browser/policy/proto/device_management_backend.proto
|
| index 3187f6b49890097711fba4884185550d5cd225f7..1a857b62f9d8b529fdca22b0d31e9e200ea51220 100644
|
| --- a/chrome/browser/policy/proto/device_management_backend.proto
|
| +++ b/chrome/browser/policy/proto/device_management_backend.proto
|
| @@ -88,62 +88,94 @@ message DevicePolicyResponse {
|
| repeated DevicePolicySetting setting = 1;
|
| }
|
|
|
| +// Request from device to server to register device. The response will include
|
| +// a device token that can be used to query policies.
|
| +message DeviceRegisterRequest {
|
| + // reregister device without erasing server state.
|
| + // it can be used to refresh dmtoken etc.
|
| + optional bool reregister = 1;
|
| +}
|
| +
|
| +// Response from server to device register request.
|
| +message DeviceRegisterResponse {
|
| + // device mangement toke for this registration.
|
| + required string device_management_token = 1;
|
| +}
|
| +
|
| // Protocol buffers for the new protocol:
|
| // --------------------------------------
|
|
|
| -// Request from device to server to query if the authenticated user is in a
|
| -// managed domain.
|
| -message ManagedCheckRequest {
|
| +// Request from device to server to get policies for an unregistered user.
|
| +// These are actually "meta-policies", that control the rules for the user
|
| +// about enrolling for real policies.
|
| +message InitialPolicyRequest {
|
| }
|
|
|
| -// Response from server to device indicating if the authenticated user is in a
|
| -// managed domain.
|
| -message ManagedCheckResponse {
|
| - enum Mode {
|
| - // The device must be enrolled for policies.
|
| +message InitialPolicySettings {
|
| + enum EnrollmentRule {
|
| + // The user must enroll its device for policies.
|
| MANAGED = 1;
|
| - // The device is not automatically enrolled for policies, but the user
|
| - // may choose to try to enroll it.
|
| + // The users's device is not automatically enrolled for policies, but the
|
| + // user may choose to try to enroll it.
|
| UNMANAGED = 2;
|
| }
|
|
|
| - optional Mode mode = 1;
|
| + optional EnrollmentRule enrollment_rule = 1;
|
| }
|
|
|
| -// Request from device to server to register device.
|
| -message DeviceRegisterRequest {
|
| - // reregister device without erasing server state.
|
| - // it can be used to refresh dmtoken etc.
|
| - optional bool reregister = 1;
|
| +// Response from server to device containing the policies available before
|
| +// registration.
|
| +message InitialPolicyResponse {
|
| + optional InitialPolicySettings settings = 1;
|
| }
|
|
|
| -// Response from server to device register request.
|
| -message DeviceRegisterResponse {
|
| - // device mangement toke for this registration.
|
| - required string device_management_token = 1;
|
| +// Request from device to server to unregister device management token.
|
| +message DeviceUnregisterRequest {
|
| +}
|
|
|
| - // The name of the device, assigned by the server.
|
| - optional string device_name = 2;
|
| +// Response from server to unregister request.
|
| +message DeviceUnregisterResponse {
|
| }
|
|
|
| -// Request from device to server to unregister device.
|
| -message DeviceUnregisterRequest {
|
| +// Request from device to server to register device. The response will include
|
| +// a device token that can be used to query policies.
|
| +message CloudRegisterRequest {
|
| + enum Type {
|
| + // Requesting token for user policies.
|
| + USER = 1;
|
| + // Requesting token for device policies.
|
| + DEVICE = 2;
|
| + }
|
| + optional Type type = 1;
|
| + // Unique identifier of the machine. Only set if type == DEVICE.
|
| + // This won't be sent in later requests, the machine can be identified
|
| + // by its device token.
|
| + optional string machine_id = 2;
|
| }
|
|
|
| -// Response from server to device unregister request.
|
| -message DeviceUnregisterResponse {
|
| +// Response from server to device register request.
|
| +message CloudRegisterResponse {
|
| + // Token for this registration.
|
| + required string device_management_token = 1;
|
| +
|
| + // The name of the requesting device, assigned by the server.
|
| + optional string machine_name = 2;
|
| }
|
|
|
| message CloudPolicyRequest {
|
| // Identify request scope: chromeos/device for device policies, chromeos/user
|
| - // for user policies.
|
| + // for user policies. Only those policy scopes will be served, that are
|
| + // allowed by the type choice in CloudRegisterRequest.
|
| optional string policy_scope = 1;
|
| - // The device token of the owner of the device sending the request. In cases
|
| - // the request was sent by the device owner or device policies were
|
| - // requested, this is the same as the token used for authentication.
|
| - // Otherwise (if the user policy is requested for someone else than the device
|
| - // owner) this token is different from the token used for authentication.
|
| - optional string device_token = 2;
|
| +
|
| + // The token used to query device policies on the device sending the request.
|
| + // Note, that the token used for actual authentication is sent in an HTTP
|
| + // header. These two tokens are the same if this request is for querying
|
| + // device policies and they differ if this request is for querying user
|
| + // policies. In the second case, the server can use device_policy_token to
|
| + // identify the device and determine if the user is allowed to get policies
|
| + // on the given device.
|
| + optional string device_policy_token = 2;
|
| }
|
|
|
| // Response from server to device for reading policies.
|
| @@ -176,20 +208,20 @@ message SignedCloudPolicyResponse {
|
| //
|
| // Http Query parameters:
|
| // Query parameters contain the following information in each request:
|
| -// request: register/unregister/policy/cloud_policy/managed_check etc.
|
| +// request: register/unregister/policy/cloud_policy/cloud_register/
|
| +// initial_policy
|
| // devicetype: CrOS/Android/Iphone etc.
|
| // apptype: CrOS/AndroidDM etc.
|
| -// deviceid: unique id that identify the device.
|
| // agent: identify agent on device.
|
| //
|
| // Authorization:
|
| -// 1. If request is managed_check, client must pass in GoogleLogin auth
|
| -// cookie in Authorization header:
|
| +// 1. If request is initial_policy, client must pass in GoogleLogin
|
| +// auth cookie in Authorization header:
|
| // Authorization: GoogleLogin auth=<auth cookie>
|
| -// This is the only case when the deviceid query parameter is set to empty.
|
| -// The response will contain a flag indicating if the user is in a managed
|
| -// domain or not. (We don't want to expose device ids of users not in
|
| -// managed domains.)
|
| +// The response will contain settings that a user can get without
|
| +// registration. Currently the only such setting is a flag indicating if the
|
| +// user is in a managed domain or not. (We don't want to expose device ids of
|
| +// users not in managed domains.)
|
| // 2. If request is register_request, client must pass in GoogleLogin auth
|
| // cookie in Authorization header:
|
| // Authorization: GoogleLogin auth=<auth cookie>
|
| @@ -200,7 +232,7 @@ message SignedCloudPolicyResponse {
|
| // Authorization: GoogleDMToken token=<google dm token>
|
| //
|
| message DeviceManagementRequest {
|
| - // Register request.
|
| + // Register request (old protocol).
|
| optional DeviceRegisterRequest register_request = 1;
|
|
|
| // Unregister request.
|
| @@ -212,8 +244,11 @@ message DeviceManagementRequest {
|
| // Data request (new protocol).
|
| optional CloudPolicyRequest cloud_policy_request = 4;
|
|
|
| - // Request to check if a user is managed or not.
|
| - optional ManagedCheckRequest managed_check_request = 5;
|
| + // Request for initial (before registration) policies.
|
| + optional InitialPolicyRequest initial_policy_request = 5;
|
| +
|
| + // Register request (new protocol).
|
| + optional CloudRegisterRequest cloud_register_request = 6;
|
| }
|
|
|
| // Response from server to device.
|
| @@ -241,7 +276,7 @@ message DeviceManagementResponse {
|
| // Error message.
|
| optional string error_message = 2;
|
|
|
| - // Register response
|
| + // Register response (old protocol).
|
| optional DeviceRegisterResponse register_response = 3;
|
|
|
| // Unregister response
|
| @@ -253,6 +288,9 @@ message DeviceManagementResponse {
|
| // Policy response (new protocol).
|
| optional CloudPolicyResponse cloud_policy_response = 6;
|
|
|
| - // Response to managed check request.
|
| - optional ManagedCheckResponse managed_check_response = 7;
|
| + // Response to initial (before registration) policy request.
|
| + optional InitialPolicyResponse initial_policy_response = 7;
|
| +
|
| + // Register response (new protocol).
|
| + optional CloudRegisterResponse cloud_register_response = 8;
|
| }
|
|
|