Update phosphor and token spend apis to expose and accept binary public metadata

PiperOrigin-RevId: 537978580
diff --git a/quiche/blind_sign_auth/proto/auth_and_sign.proto b/quiche/blind_sign_auth/proto/auth_and_sign.proto
index 38f82d1..7089dfb 100644
--- a/quiche/blind_sign_auth/proto/auth_and_sign.proto
+++ b/quiche/blind_sign_auth/proto/auth_and_sign.proto
@@ -21,7 +21,7 @@
 import "quiche/blind_sign_auth/proto/public_metadata.proto";
 
 // Client is requesting to auth using the provided auth token.
-// Next ID: 9
+// Next ID: 14
 message AuthAndSignRequest {
   reserved 3;
 
@@ -56,6 +56,9 @@
   // Indicates which key to use for signing. Only set if key type is
   // PUBLIC_METADATA.
   int64 key_version = 12 ;
+
+  // Only set one of this or public_metadata_info.
+  bytes binary_public_metadata = 13 ;
 }
 
 message AuthAndSignResponse {
diff --git a/quiche/blind_sign_auth/proto/get_initial_data.proto b/quiche/blind_sign_auth/proto/get_initial_data.proto
index bd6cc34..bcbd834 100644
--- a/quiche/blind_sign_auth/proto/get_initial_data.proto
+++ b/quiche/blind_sign_auth/proto/get_initial_data.proto
@@ -51,11 +51,14 @@
   private_membership.anonymous_tokens.RSABlindSignaturePublicKey
       at_public_metadata_public_key = 1;
 
-  // Metadata to associate with the token. Version will match the validation
-  // version in the request.
+  // Version will match the validation version in the request.
   privacy.ppn.PublicMetadataInfo public_metadata_info = 2;
 
   // Data needed to set up attestation, included if use_attestation is true or
   // if the service_type input requires it.
   privacy.ppn.PrepareAttestationData attestation = 3;
+
+  // General public metadata. Use metadata deserializer to inspect. Only set one
+  // of this or public_metadata_info.
+  bytes binary_public_metadata = 4 ;
 }
diff --git a/quiche/blind_sign_auth/proto/spend_token_data.proto b/quiche/blind_sign_auth/proto/spend_token_data.proto
index 68c2e6c..0fbca27 100644
--- a/quiche/blind_sign_auth/proto/spend_token_data.proto
+++ b/quiche/blind_sign_auth/proto/spend_token_data.proto
@@ -35,4 +35,7 @@
   private_membership.anonymous_tokens.AnonymousTokensUseCase use_case = 5;
   // Nonce used to mask plaintext message before cryptographic verification.
   bytes message_mask = 6;
+  // General public metadata. Use deserializer to inspect. Only set one of this
+  // or public_metadata.
+  bytes binary_public_metadata = 7;
 }