Alguma dica de como passar dados para o artefato? Quero colar o mesmo artefato em vários lugares do meu fórum, usando um token JWT diferente em cada lugar. Tenho tentado coisas como esta, mas não consigo fazer o criador usá-lo:
@david você acha que há alguma implicação de segurança em passar informações sobre o mundo exterior para um artefato? (deixar o sandbox, mas acho que ecoar window.location.search em algum tipo de atributo?)
Dar ao artefato acesso à string de consulta parece bom. A maneira mais fácil seria usar Ruby para injetá-la no documento HTML não confiável. Talvez como uma meta tag ou algo assim.
Eu pensaria que é um caso de uso muito comum para artefatos do mundo real. Tenho um artefato de análise financeira que quero executar contra muitos investimentos. O artefato extrai os dados de desempenho de uma API, usando o JWT para identificar qual investimento. Criar muitos artefatos diferentes, cada um com um JWT codificado diferente, não é uma opção.
Sem querer abusar da sorte, mas se eu também pudesse obter o ID do usuário e o ID do tópico no artefato, isso abriria muito mais aplicações.
o ID do tópico é fácil de adicionar, mas o ID do usuário pode ser um pouco mais complicado, pois o artefato é fortemente armazenado em cache, teríamos que reduzir parte do cache para que isso acontecesse.
Isso seria, na verdade, melhor para minha aplicação do que passar atributos de dados. Existe um mapeamento de 1:1 entre tópicos e meus JWTs, então posso procurar o JWT, sem ter que editar o JWT em cada postagem.
Isso provavelmente não lida com outros casos de uso, no entanto.
Isso resolverá o problema. Não há realmente uma escolha simples a não ser usar postMessage aqui devido ao sandboxing, então a API requer um await… funciona, o que é bom.