Saiba como controlar o gerenciamento de público-alvo usando uma política de permissões ou delegar a um terceiro configurando um URL de permissões .well-known.
A origem do contexto de chamada para joinAdInterestGroup() precisa corresponder à origem do proprietário do grupo de interesse. Portanto, joinAdInterestGroup() precisa ser chamado de um iframe (por exemplo, de uma DSP), a menos que a origem do proprietário do grupo de interesse corresponda à origem do documento atual (por exemplo, um site com grupos de interesse próprios).
O joinAdInterestGroup() requer permissão de:
- O site visitado
- O proprietário do grupo de interesse
Isso significa que não é possível para malicious.example chamar joinAdInterestGroup() para um grupo de interesse de propriedade de dsp.example.com sem que dsp.example.com conceda permissão.
Permissão do site visitado
A permissão pode ser concedida da mesma origem ou entre origens.
Por padrão, a permissão é concedida para chamadas joinAdInterestGroup() da mesma origem do site visitado, ou seja, da mesma origem do frame de nível superior da página atual. Os sites podem usar o cabeçalho da política de permissões join-ad-interest-group para desativar as chamadas joinAdInterestGroup().
Chamar joinAdInterestGroup() entre origens (origens diferentes da página atual) só funciona se o site visitado tiver definido uma política de permissões que permita chamadas para joinAdInterestGroup() de iframes entre origens.
Permissão do proprietário do grupo de interesse
A permissão do proprietário do grupo de interesse é concedida implicitamente chamando joinAdInterestGroup() de um iframe com a mesma origem do proprietário do grupo de interesse. Por exemplo, um iframe dsp.example.com pode chamar joinAdInterestGroup() para grupos de interesse pertencentes a dsp.example.com.
Basicamente, o joinAdInterestGroup() pode ser executado em uma página ou iframe no domínio do proprietário ou ser delegado a outros domínios fornecidos usando uma lista em um URL .well-known.
Quando um frame navegado para um domínio chama joinAdInterestGroup(), leaveAdInterestGroup() ou clearOriginJoinedAdInterestGroups() para um grupo de interesse com um proprietário diferente, o navegador busca o URL https://owner.domain/.well-known/interest-group/permissions/?origin=frame.origin, em que owner.domain é o domínio proprietário do grupo de interesse e frame.origin é a origem do frame. A busca usa o modo de omitir credenciais, usando a chave de partição de rede do frame que invocou o método. Para evitar o vazamento inesperado de dados de origem cruzada pela promessa retornada, a busca usa o modo cors. A resposta buscada precisa ter um tipo MIME JSON e estar no formato:
{ "joinAdInterestGroup": true/false,
"leaveAdInterestGroup": true/false
}
Indica se a origem no caminho tem permissões para entrar ou sair de grupos de interesse pertencentes ao domínio para o qual a solicitação é enviada. As permissões ausentes são consideradas como "falsas". Como chamar navigator.joinAdInterestGroup() com um lifetimeMs de 0 efetivamente sai de um grupo de interesse, joinAdInterestGroup: true também permite que uma origem chame navigator.leaveAdInterestGroup(), mesmo que leaveadInterestGroup esteja faltando ou definido como "false". Observe que leaveAdInterestGroup() e clearOriginJoinedAdInterestGroups() verificam a permissão leaveAdInterestGroup.