Delegar o gerenciamento de público-alvo a terceiros

Saiba como controlar o gerenciamento de públicos-alvo com uma política de permissões ou delegue a um terceiro configurando um URL de permissões .well-known.

A origem do contexto de chamada de joinAdInterestGroup() precisa corresponder à origem do proprietário do grupo de interesse. Portanto, joinAdInterestGroup() precisará ser chamado de um iframe (por exemplo, de um DSP), a menos que a origem do proprietário do grupo de interesse corresponda à do documento atual (por exemplo, um site com os próprios grupos de interesse).

O app joinAdInterestGroup() precisa da permissão de:

Isso significa que malicious.example não pode chamar joinAdInterestGroup() para um grupo de interesse de propriedade de dsp.example.com sem a permissão dsp.example.com.

Permissão do site visitado

A permissão pode ser concedida da mesma origem ou origem cruzada.

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 do join-ad-interest-group para desativar chamadas do joinAdInterestGroup().

Chamar joinAdInterestGroup() de origens cruzadas (origens diferentes da página atual) só vai funcionar se o site que está sendo visitado tiver definido uma política de permissões que permita chamadas para joinAdInterestGroup() de iframes de origem cruzada.

Permissão do proprietário do grupo de interesse

A permissão do proprietário do grupo de interesse é concedida implicitamente ao chamar 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 de dsp.example.com.

Essencialmente, joinAdInterestGroup() pode ser executado em uma página ou iframe no domínio do proprietário ou 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 deve ter o tipo JSON MIME e estar no formato:

{ "joinAdInterestGroup": true/false,
  "leaveAdInterestGroup": true/false
}

indicar se a origem no caminho tem permissões para participar ou sair de grupos de interesse do domínio para o qual a solicitação é enviada; As permissões ausentes são consideradas falsas. Como chamar navigator.joinAdInterestGroup() com 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 ausente ou definido como "false". Tanto leaveAdInterestGroup() quanto clearOriginJoinedAdInterestGroups() verificam a permissão leaveAdInterestGroup.