blob: 8fcf051b10e08f9f3229feeaba9378d9d5faa9da [file] [log] [blame]
// 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;
}
}