Versão 1.0.13

Resumo

Esta versão corrige o compartilhamento do token Cielo entre o host e o MFE remoto. O SDK passa a publicar a Bridge (getCachedValue e sendSpan) em globalThis.CieloWebSdk. Assim, MFEs carregados em bundle separado, com ou sem o SDK importado, conseguem obter o token e enviar spans de observabilidade do host.

Novidades

Bridge global:

  • A cada openWebView, o SDK publica globalThis.CieloWebSdk.Bridge com apenas getCachedValue e sendSpan, antes de carregar o MFE. A classe CieloWebSdk, o dataManager e o token não são expostos.
  • O objeto é congelado, não enumerável, não gravável e não configurável. Chamadas repetidas de openWebView mantêm a mesma Bridge.
  • MFEs que não importam o SDK podem chamar globalThis.CieloWebSdk?.Bridge?.getCachedValue(...) diretamente, evitando cerca de 570 KB no bundle.
  • MFEs que importam o SDK continuam usando CieloWebSdk.Bridge.*. A chamada é repassada automaticamente à Bridge do host.

Correções

  • Compartilhamento de token: o getCachedValue chamado pelo MFE lia a cópia do SDK dele, que estava vazia, e devolvia ''. Agora ele lê o token da cópia do host.
  • Observabilidade: o sendSpan chamado pelo MFE passa a usar a observabilidade inicializada no host.
  • Testes: ajuste da versão do Vitest.

Segurança e compatibilidade

  • O token continua só em memória. Nada é gravado em localStorage, sessionStorage ou cookies, e o unmount() limpa a sessão. Depois dele, o getCachedValue devolve ''.
  • Breaking para a 1.0.12: o registro do dataManager em globalThis[Symbol.for('dig-cielo-webview-sdk-web.dataManager.v1')] foi removido. Ele expunha o token do parceiro e métodos de escrita. MFEs que liam esse símbolo devem migrar para globalThis.CieloWebSdk.Bridge.getCachedValue.
  • Atenção para parceiros: não declare uma variável global CieloWebSdk na página. Se ela já existir, o SDK não a sobrescreve, emite console.warn ([exposeBridge] "CieloWebSdk" já existe no escopo global) e o MFE fica aguardando autenticação.
  • Qualquer script da página do host pode chamar a Bridge. Mantenha scripts de terceiros sob controle e aplique CSP.

Did this page help you?