Dependiendo de tu método de Handshake, tu API responderá con un objeto JSON sin procesar o un JWT firmado. La forma de los datos es la misma para ambos:

type User = {
  expiresAt?: number;
  groups?: string[];
  content?: Record<string, any>;
  apiPlaygroundInputs?: {
    header?: Record<string, any>;
    query?: Record<string, any>;
    cookie?: Record<string, any>;
    server?: Record<string, string>;
  };
};
expiresAt
number

El momento en el que esta información debe expirar, en segundos desde la época. Si el usuario carga la página y el tiempo actual es posterior a este valor, los datos almacenados se eliminarán.

Para Handshakes JWT: Esto no es lo mismo que la reclamación exp del JWT. La reclamación exp determina cuándo un JWT ya no debe considerarse válido, y debe establecerse lo más bajo posible. En este caso, probablemente se pueda establecer en 10 segundos o menos. El campo expiresAt determina cuándo los datos recuperados deben considerarse obsoletos, y puede ser desde un día hasta varias semanas.

groups
string[]

Una lista de grupos a los que pertenece el usuario. Esto determinará qué páginas se deben mostrar a este usuario. Si alguno de estos grupos está listado en el campo groups de los metadatos de una página, esa página se mostrará.

content
object

Un conjunto de valores a los que se puede acceder desde el contenido MDX usando la variable user. Por ejemplo, si has proporcionado { firstName: 'Ronan' } como tu campo de contenido, puedes usar lo siguiente en tu MDX: Good morning, {user.firstName}!

apiPlaygroundInputs
object

Valores específicos del usuario que se rellenarán previamente en el área de juegos de la API si se proporcionan. Por ejemplo, si cada uno de mis clientes hace solicitudes en un subdominio específico, puedo enviar { server: { subdomain: 'foo' } } como mi campo apiPlaygroundInputs, y este valor se rellenará previamente en cualquier página de API con este valor subdomain.

Los camposheader, query, y cookie solo se rellenarán previamente si son parte de tu esquema de seguridad. Crear un parámetro de encabezado estándar llamado Authorization no es suficiente para habilitar esta función. Para saber si un campo se rellenará previamente, navega a tu documentación existente y verifica si el campo está en la sección Authorization o Server.