| // Copyright 2023 The Chromium Authors |
| // Use of this source code is governed by a BSD-style license that can be |
| // found in the LICENSE file. |
| |
| syntax = "proto2"; |
| |
| // Required in Chrome. |
| option optimize_for = LITE_RUNTIME; |
| |
| package bound_session_credentials; |
| |
| // Represents a single bound cookie that the browser periodically refreshes |
| // to keep the bound session running. |
| message CookieCredential { |
| optional string name = 1; |
| optional string domain = 2; |
| optional string path = 3; |
| } |
| |
| // Represents a single bound credential that the browser periodically refreshes. |
| // Currently supports only a cookie credential. |
| message Credential { |
| oneof credential { |
| CookieCredential cookie_credential = 1; |
| } |
| } |
| |
| message Timestamp { |
| // Represents microseconds since the Windows epoch. |
| required int64 microseconds = 1; |
| } |
| |
| // Set of parameters for a single device bound session. |
| message BoundSessionParams { |
| // Site on which the bound session is running. |
| // The protocol is currently in a prototype state and only supports |
| // "google.com". |
| optional string site = 1; |
| // Bound session ID received from the server. |
| optional string session_id = 2; |
| // Wrapped binding key. |
| optional bytes wrapped_key = 3; |
| // List of credentials that the browser needs to refresh periodically. |
| repeated Credential credentials = 4; |
| // Creation time of the session. |
| optional Timestamp creation_time = 5; |
| // URL of the refresh endpoint. |
| optional string refresh_url = 6; |
| } |