| // Copyright 2024 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"; |
| |
| package gaia; |
| |
| // Required in Chrome. |
| option optimize_for = LITE_RUNTIME; |
| |
| // An OAuth token together with the token binding assertion. Some tokens |
| // are bound to devices, and are expected to be used together with a proof of |
| // possession assertion of a private key, the public key for which was provided |
| // to the OAuth server during registration. |
| message BoundOAuthToken { |
| // Required. |
| optional string gaia_id = 1; |
| // Required. |
| optional string token = 2; |
| // Required. |
| optional string token_binding_assertion = 3; |
| } |
| |
| // Structured content of the "MultiOAuth" Authorization header. |
| message MultiOAuthHeader { |
| repeated AccountRequest account_requests = 1; |
| |
| // The message schema is currently identical to `BoundOAuthToken`. Keep two |
| // definitions separate because they are separate on the server and might |
| // diverge over time. |
| message AccountRequest { |
| // Required. |
| optional string gaia_id = 1; |
| |
| // Required. |
| optional string token = 2; |
| |
| // Required only for bound tokens. |
| optional bytes token_binding_assertion = 3; |
| } |
| } |