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:
- O site que está sendo visitado
- O proprietário do grupo de interesse
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
.