// Copyright (c) 2010 The Chromium Authors. All rights reserved. // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. // Messages related to Client/Host Mutual Authentication and Local Login. syntax = "proto2"; option optimize_for = LITE_RUNTIME; package remoting.protocol; // Represents the data used in generating the client auth token during session // initiation. message ClientAuthToken { optional string host_full_jid = 1; optional string client_full_jid = 2; // A short-lived OAuth token identifying the client to the host. optional string client_oauth_token = 3; } // There can be more challenge types later enum CredentialType { PASSWORD = 0; } message LocalLoginCredentials { optional CredentialType type = 1; optional string username = 2; optional bytes credential = 3; } message LocalLoginStatus { optional bool success = 1; // Only populated if success is set to false. optional int32 tries_remaining = 2 [default = 0]; optional string error_info = 3; } // Sent from the Host to the Client. This is the first message after // channels are established. message LocalLoginProperties { repeated CredentialType supported_credential_types = 1; // Used to generate the bank style anti-phishing image. // This info is stored only on the host. optional bytes antiphish_image = 2; optional bytes antiphish_text = 3; } // Sent from Client to Host. This consists of both the login attempt, // and any session configuration information. message BeginSessionRequest { optional LocalLoginCredentials credentials = 1; } // Sent from Host to Client. Replies with login success, and // final client configuration. message BeginSessionResponse { optional LocalLoginStatus login_status = 1; }