Tergantung pada metode Handshake Anda, API Anda akan merespons dengan objek JSON mentah atau JWT yang ditandatangani. Bentuk datanya sama untuk keduanya:

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

Waktu di mana informasi ini harus kedaluwarsa, dalam detik sejak epoch. Jika pengguna memuat halaman dan waktu saat ini setelah nilai ini, data yang disimpan akan dihapus.

Untuk Handshake JWT: Ini bukan sama dengan klaim exp dari JWT. Klaim exp menentukan kapan JWT tidak boleh lagi dianggap valid, dan harus diatur serendah mungkin. Dalam kasus ini, mungkin bisa diatur ke 10 detik atau lebih rendah. Bidang expiresAt menentukan kapan data yang diambil harus dianggap basi, dan bisa berkisar dari satu hari hingga beberapa minggu.

groups
string[]

Daftar grup yang dimiliki pengguna. Ini akan menentukan halaman mana yang harus ditampilkan kepada pengguna ini. Jika salah satu dari grup ini tercantum dalam bidang groups dari metadata halaman, halaman tersebut akan ditampilkan.

content
object

Kumpulan nilai yang dapat diakses dari dalam konten MDX menggunakan variabel user. Misalnya, jika Anda telah menyediakan { firstName: 'Ronan' } sebagai bidang konten Anda, Anda dapat menggunakan yang berikut dalam MDX Anda: Good morning, {user.firstName}!

apiPlaygroundInputs
object

Nilai-nilai spesifik pengguna yang akan diisi sebelumnya di playground API jika disediakan. Misalnya, jika masing-masing pelanggan saya membuat permintaan di subdomain tertentu, saya dapat mengirim { server: { subdomain: 'foo' } } sebagai bidang apiPlaygroundInputs saya, dan nilai ini akan diisi sebelumnya pada halaman API mana pun dengan nilai subdomain ini.

Bidangheader, query, dan cookie hanya akan diisi sebelumnya jika mereka merupakan bagian dari security scheme Anda. Membuat parameter header standar bernama Authorization tidak cukup untuk mengaktifkan fitur ini. Untuk mengetahui apakah suatu bidang akan diisi sebelumnya, navigasikan ke dokumentasi Anda yang ada dan periksa apakah bidang tersebut berada di bagian Authorization atau Server.