summaryrefslogtreecommitdiffstats
path: root/remoting/proto/auth.proto
blob: 7b671e2a830ddb9b0d8bd88f8283872f48bad368 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
// 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;
}