Mantenha a credencial fora da página

O token de uma ligação de partilha serve para um dashboard que qualquer pessoa com a ligação pode ver, mas um token escrito numa página web pode ser lido por quem a abrir. Quando cada visitante deve ver apenas as suas linhas, guarde uma chave de embed no seu servidor (Definições, API tokens, tipo Chave de embed) e peça ao servidor uma sessão de curta duração por visitante:

curl -X POST "https://eventhorizondata.com/api/v1/embed-sessions" \
  -H "Authorization: Bearer $EH_EMBED_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "share_link_id": "<share link id>",
    "expires_in": 600,
    "row_scope": [{ "event_bucket_id": "<bucket id>", "column_key": "region", "values": ["EMEA"] }]
  }'

# { "data": { "token": "ehs_...", "expires_at": "..." } }

Dê à página apenas o token da sessão. Funciona durante o número de segundos que pediu (60 a 3600, dez minutos por omissão), mostra o que a ligação de partilha mostra, limitado às linhas que indicou, e depois deixa de funcionar. O elemento pede uma ao seu endpoint, e o módulo aceita tokenFromUrl, ou qualquer função que devolva um token:

<!-- /eh/session is YOUR endpoint: it makes the request above and returns the answer -->
<eh-chart token-url="/eh/session" widget="<widget id>" style="height: 320px"></eh-chart>
import { createClient, tokenFromUrl } from '@event-horizon-data/charts';

// tokenFromUrl asks YOUR endpoint; any function that returns a token works too.
const client = createClient({ token: tokenFromUrl('/eh/session') });

A chave de embed não lê dados e a sessão só pode estreitar a ligação, nunca alargá-la. Revogue a chave, ou desligue a ligação, e todas as sessões deixam de funcionar de imediato. A biblioteca pede uma sessão na primeira utilização, outra pouco antes de expirar, e mais uma se a API responder 404 a uma sessão que entregou antes.

Envia o teu primeiro evento.

Cria uma conta e passa dos dados em bruto a um dashboard em minutos.