Dowiedz się, jak kontrolować zarządzanie odbiorcami za pomocą zasady uprawnień lub delegować uprawnienia na podmiot zewnętrzny, konfigurując adres URL uprawnień .well-known.
Pochodzenie kontekstu wywołania funkcji joinAdInterestGroup() musi być zgodne z pochodzeniem właściciela grupy zainteresowań, więc funkcja joinAdInterestGroup() musi być wywoływana z elementu iframe (np. z platformy DSP), chyba że pochodzenie właściciela grupy zainteresowań jest zgodne z pochodzeniem bieżącego dokumentu (np. witryny z własnymi grupami zainteresowań).
joinAdInterestGroup() wymaga uprawnień od:
- odwiedzana witryna,
- Właściciel grupy zainteresowań
Oznacza to, że malicious.example nie może wywołać joinAdInterestGroup() w przypadku grupy zainteresowań należącej do dsp.example.com bez przyznania uprawnień przez dsp.example.com.
Zezwolenie z odwiedzanej witryny
Uprawnienia można przyznać w ramach tej samej domeny lub w ramach różnych domen.
Domyślnie uprawnienia są przyznawane w przypadku wywołań joinAdInterestGroup() z tego samego źródła co odwiedzana witryna (czyli z tego samego źródła co ramka najwyższego poziomu bieżącej strony). Witryny mogą używać nagłówka zasad uprawnień join-ad-interest-group, aby wyłączyć wywołania joinAdInterestGroup().
Wywoływanie funkcji joinAdInterestGroup() z innych witryn (źródeł, które różnią się od bieżącej strony) może się powieść tylko wtedy, gdy odwiedzana witryna ma ustawioną zasadę dotyczącą uprawnień, która zezwala na wywoływanie funkcji joinAdInterestGroup() z ramek iframe z innych witryn.
Zgoda właściciela grupy zainteresowań
Uprawnienie właściciela grupy zainteresowań jest przyznawane w sposób dorozumiany przez wywołanie funkcji joinAdInterestGroup() z elementu iframe pochodzącego z tej samej domeny co właściciel grupy zainteresowań. Na przykład element iframe może wywołać funkcję joinAdInterestGroup() w przypadku grup zainteresowań należących do domeny dsp.example.com.dsp.example.com
W zasadzie joinAdInterestGroup() może działać na stronie lub w elemencie iframe w domenie właściciela albo może być delegowany do innych domen podanych na liście pod adresem URL .well-known.
Gdy ramka, która przeszła do innej domeny, wywoła funkcję joinAdInterestGroup(), leaveAdInterestGroup() lub clearOriginJoinedAdInterestGroups() w przypadku grupy zainteresowań należącej do innego właściciela, przeglądarka pobierze adres URL https://owner.domain/.well-known/interest-group/permissions/?origin=frame.origin, gdzie owner.domain to domena będąca właścicielem grupy zainteresowań, a frame.origin to źródło ramki. Pobieranie korzysta z trybu pomijania danych logowania, używając klucza partycji sieciowej ramki, która wywołała metodę. Aby uniknąć nieoczekiwanego wycieku danych z innej domeny przez zwrócony obiekt Promise, funkcja fetch używa trybu cors. Pobrana odpowiedź powinna mieć typ MIME JSON i format:
{ "joinAdInterestGroup": true/false,
"leaveAdInterestGroup": true/false
}
Wskazuje, czy źródło w ścieżce ma uprawnienia do dołączania do grup zainteresowań należących do domeny, do której wysyłana jest prośba, lub opuszczania tych grup. Brakujące uprawnienia są traktowane jako fałszywe. Ponieważ wywołanie funkcji navigator.joinAdInterestGroup() z wartością lifetimeMs 0 powoduje opuszczenie grupy zainteresowań, interfejs joinAdInterestGroup: true umożliwia też wywołanie funkcji navigator.leaveAdInterestGroup() przez pochodzenie, nawet jeśli brakuje wartości leaveadInterestGroup lub jest ona ustawiona na false. Pamiętaj, że zarówno leaveAdInterestGroup(), jak i clearOriginJoinedAdInterestGroups() sprawdzają uprawnienie leaveAdInterestGroup.